64 lines
2.1 KiB
YAML
64 lines
2.1 KiB
YAML
name: Build Docker Image And Push
|
|
|
|
on:
|
|
push:
|
|
tags: [ 'v*.*.*' ]
|
|
|
|
env:
|
|
PHP_EXTENSION_INSTALL_VERSION: 'latest'
|
|
COMPOSER_VERSION: 'latest'
|
|
|
|
jobs:
|
|
build:
|
|
name: Build PHP ${{ matrix.php-version }}
|
|
runs-on: ${{ matrix.os }}
|
|
container:
|
|
# 使用支持docker的act镜像
|
|
image: catthehacker/ubuntu:act-latest
|
|
volumes:
|
|
# 缓存docker构建步骤
|
|
- ubuntu_dockercache:/opt/dockercache
|
|
env:
|
|
RUNNER_TOOL_CACHE: /toolcache
|
|
# 此处可修改为你任意 docker 镜像仓库地址和用户名
|
|
DOCKER_REGISTRY: git.des8.com
|
|
DOCKER_USERNAME: ${{ secrets.HUB_USERNAME }}
|
|
env:
|
|
PHP_CLI_VERSION: ${{ matrix.php-version }}-cli-alpine
|
|
strategy:
|
|
matrix:
|
|
os: [ ubuntu-latest ]
|
|
php-version: ['8.0']
|
|
max-parallel: 8
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@v3
|
|
- name: Login to Git Docker Hub
|
|
# https://github.com/docker/login-action#docker-hub
|
|
uses: docker/login-action@v3
|
|
with:
|
|
registry: git.des8.com
|
|
username: ${{ secrets.HUB_USERNAME }}
|
|
password: ${{ secrets.HUB_PASSWORD }}
|
|
|
|
# - name: Get Meta
|
|
# id: meta
|
|
# run: |
|
|
# echo REPO_NAME=$(echo ${GITHUB_REPOSITORY} | awk -F"/" '{print $2}') >> $GITHUB_OUTPUT
|
|
# echo REPO_VERSION=$(echo ${{ github.ref }} | awk -F"/" '{print $3}' | awk -F"v" '{print $2}') >> $GITHUB_OUTPUT
|
|
|
|
- name: Build and push
|
|
# https://github.com/docker/build-push-action
|
|
uses: docker/build-push-action@v4
|
|
with:
|
|
context: .
|
|
file: ./Dockerfile
|
|
build-args: |
|
|
PHP_CLI_VERSION=${{ env.PHP_CLI_VERSION }}
|
|
PHP_EXTENSION_INSTALL_VERSION=${{ env.PHP_EXTENSION_INSTALL_VERSION }}
|
|
COMPOSER_VERSION=${{ env.COMPOSER_VERSION }}
|
|
push: true
|
|
tags: |
|
|
${{ secrets.HUB_USERNAME }}/webman-docker:${{ env.PHP_CLI_VERSION }}
|
|
${{ secrets.HUB_USERNAME }}/webman-docker:${{ env.PHP_CLI_VERSION }}${{ github.ref_type == 'tag' && format('-{0}', github.ref_name) || '' }}
|