ngbs 3 年之前
父節點
當前提交
3b4d29a7fd
共有 3 個文件被更改,包括 46 次插入9 次删除
  1. 18 5
      .github/workflows/build-php.yml
  2. 6 4
      php/Dockerfile
  3. 22 0
      php/Dockerfile.latest

+ 18 - 5
.github/workflows/build-php.yml

@@ -2,10 +2,10 @@ name: Build PHP
 
 
 on:
 on:
   # push:
   # push:
-    # branches: [ master ]
-    # paths:
-    #   - 'php/**'
-    #   - '.github/workflows/build-php.yml'
+  # branches: [ master ]
+  # paths:
+  #   - 'php/**'
+  #   - '.github/workflows/build-php.yml'
   # UTC +8
   # UTC +8
   # schedule:
   # schedule:
   #   - cron: "0 20 * * *"
   #   - cron: "0 20 * * *"
@@ -17,7 +17,6 @@ jobs:
   build-php:
   build-php:
     runs-on: ubuntu-latest
     runs-on: ubuntu-latest
     steps:
     steps:
-
       - name: Check Out Repo
       - name: Check Out Repo
         uses: actions/checkout@v3
         uses: actions/checkout@v3
 
 
@@ -53,6 +52,19 @@ jobs:
           cache-from: type=local,src=/tmp/.buildx-cache
           cache-from: type=local,src=/tmp/.buildx-cache
           cache-to: type=local,dest=/tmp/.buildx-cache-new
           cache-to: type=local,dest=/tmp/.buildx-cache-new
 
 
+      - name: Build and push Docker images
+        uses: docker/build-push-action@v3
+        id: docker_build_php
+        with:
+          context: ./php
+          file: ./php/Dockerfile.latest
+          push: true
+          tags: |
+            ${{ secrets.DOCKER_HUB_USERNAME }}/php:7.4
+          builder: ${{ steps.buildx.outputs.name }}
+          cache-from: type=local,src=/tmp/.buildx-cache
+          cache-to: type=local,dest=/tmp/.buildx-cache-new
+
       - name: Move cache
       - name: Move cache
         run: |
         run: |
           rm -rf /tmp/.buildx-cache
           rm -rf /tmp/.buildx-cache
@@ -61,3 +73,4 @@ jobs:
       - name: Image digest
       - name: Image digest
         run: |
         run: |
           echo ${{ steps.docker_build_php_core.outputs.digest }}
           echo ${{ steps.docker_build_php_core.outputs.digest }}
+          echo ${{ steps.docker_build_php.outputs.digest }}

+ 6 - 4
php/Dockerfile

@@ -9,7 +9,8 @@ RUN wget --quiet -O /tmp/ioncube.tar.gz "https://downloads.ioncube.com/loader_do
     rm -rf /tmp/* && \
     rm -rf /tmp/* && \
     echo "zend_extension = ${PHP_EXT_DIR}/ioncube_loader_lin_7.4.so" > /usr/local/etc/php/conf.d/docker-php-ext-ioncube_loader_lin_7.4.ini
     echo "zend_extension = ${PHP_EXT_DIR}/ioncube_loader_lin_7.4.so" > /usr/local/etc/php/conf.d/docker-php-ext-ioncube_loader_lin_7.4.ini
 # Setup GD extension
 # Setup GD extension
-RUN apk add --no-cache \
+RUN apk add --update --no-cache \
+        libgd \
         freetype \
         freetype \
         libjpeg-turbo \
         libjpeg-turbo \
         libwebp \
         libwebp \
@@ -22,11 +23,12 @@ RUN apk add --no-cache \
         --with-freetype=/usr/include/ \
         --with-freetype=/usr/include/ \
         --with-jpeg=/usr/include/ \
         --with-jpeg=/usr/include/ \
         --with-webp=/usr/include/ && \
         --with-webp=/usr/include/ && \
-    docker-php-ext-install -j$(nproc) gd && \
-    docker-php-ext-install pdo_mysql && \
+    docker-php-ext-install -j$(nproc) gd pdo_mysql && \
     apk del --no-cache \
     apk del --no-cache \
         freetype-dev \
         freetype-dev \
         libjpeg-turbo-dev \
         libjpeg-turbo-dev \
         libwebp-dev \
         libwebp-dev \
         libpng-dev && \
         libpng-dev && \
-    rm -rf /tmp/*
+    rm -rf /tmp/*
+# Setup Other extension
+# RUN docker-php-ext-install pdo_mysql

+ 22 - 0
php/Dockerfile.latest

@@ -0,0 +1,22 @@
+FROM php:7.4-fpm-alpine
+# Setup ionCube extension
+RUN wget --quiet -O /tmp/ioncube.tar.gz "https://downloads.ioncube.com/loader_downloads/ioncube_loaders_lin_x86-64.tar.gz" && \
+    tar zxf /tmp/ioncube.tar.gz -C /tmp && \
+    chown root:root /tmp/ioncube/ioncube_loader_lin_7.4.so && \
+    chmod 755 /tmp/ioncube/ioncube_loader_lin_7.4.so && \
+    export PHP_EXT_DIR=$(php-config --extension-dir) && \
+    mv /tmp/ioncube/ioncube_loader_lin_7.4.so ${PHP_EXT_DIR}/ && \
+    rm -rf /tmp/* && \
+    echo "zend_extension = ${PHP_EXT_DIR}/ioncube_loader_lin_7.4.so" > /usr/local/etc/php/conf.d/docker-php-ext-ioncube_loader_lin_7.4.ini
+# Setup PHP extension
+RUN apk add --update --no-cache \
+        libgd \
+        libpng-dev \
+        libjpeg-turbo-dev \
+        freetype-dev && \
+    docker-php-ext-install -j$(nproc) gd pdo_mysql && \
+    apk del --no-cache \
+        libpng-dev \
+        libjpeg-turbo-dev \
+        freetype-dev && \
+    rm -rf /tmp/*