Skip to content

build: 优化构建流程,添加多平台镜像推送支持 #36

build: 优化构建流程,添加多平台镜像推送支持

build: 优化构建流程,添加多平台镜像推送支持 #36

# name: build docker image
# on:
# push:
# branches:
# - main
# release:
# types: [created, published] # 表示在创建新的 Release 时触发
# # Allows you to run this workflow manually from the Actions tab
# # 可以手动触发
# workflow_dispatch:
# inputs:
# logLevel:
# description: "Log level"
# required: true
# default: "warning"
# tags:
# description: "Test scenario tags"
# env:
# DOCKERHUB_USERNAME: eryajf
# ALIHUB_URL: registry.cn-hangzhou.aliyuncs.com
# ALIHUB_USERNAME: eryajf
# ALIHUB_IMAGE_REPONAME: eryajf
# IMAGE_REPONAME: eryajfctl
# jobs:
# buildImage:
# runs-on: ubuntu-latest
# steps:
# - uses: actions/checkout@v4
# - name: Inject slug/short variables
# uses: rlespinasse/github-slug-action@v4
# - name: Get current date
# id: date
# run: echo "today=$(date +'%Y%m%d-%H%M')" >> $GITHUB_OUTPUT
# - name: Set up QEMU
# uses: docker/setup-qemu-action@v3
# - name: Set up Docker Buildx
# uses: docker/setup-buildx-action@v3
# - name: Login to DockerHub
# uses: docker/login-action@v3
# with:
# username: ${{ env.DOCKERHUB_USERNAME }}
# password: ${{ secrets.DOCKERHUB_TOKEN }}
# - name: Login to the Ali Registry
# uses: docker/login-action@v3
# with:
# registry: ${{ env.ALIHUB_URL }}
# username: ${{ env.ALIHUB_USERNAME }}
# password: ${{ secrets.ALIHUB_TOKEN }}
# - name: 设置go环境
# uses: actions/setup-go@v5
# with:
# go-version-file: "go.mod"
# cache-dependency-path: "go.sum"
# - name: 安装 UPX
# uses: crazy-max/ghaction-upx@v3
# with:
# install-only: true
# - run: go install github.com/authelia/gox@latest # setup gox
# - run: make gox-linux
# - name: Build and push
# uses: docker/build-push-action@v6
# with:
# context: .
# file: ./Dockerfile
# push: ${{ github.event_name != 'pull_request' }}
# cache-from: type=registry,ref=${{ env.DOCKERHUB_USERNAME }}/${{ env.IMAGE_REPONAME }}:buildcache
# cache-to: type=registry,ref=${{ env.DOCKERHUB_USERNAME }}/${{ env.IMAGE_REPONAME }}:buildcache,mode=max
# platforms: linux/amd64,linux/arm64
# tags: |
# ${{ env.DOCKERHUB_USERNAME }}/${{ env.IMAGE_REPONAME }}:latest
# ${{ env.DOCKERHUB_USERNAME }}/${{ env.IMAGE_REPONAME }}:${{ env.GITHUB_REF_NAME }}
# ${{ env.DOCKERHUB_USERNAME }}/${{ env.IMAGE_REPONAME }}:${{ steps.date.outputs.today }}
# ${{ env.ALIHUB_URL }}/${{ env.ALIHUB_IMAGE_REPONAME }}/${{ env.IMAGE_REPONAME }}:latest
# ${{ env.ALIHUB_URL }}/${{ env.ALIHUB_IMAGE_REPONAME }}/${{ env.IMAGE_REPONAME }}:${{ env.GITHUB_REF_NAME }}
# ${{ env.ALIHUB_URL }}/${{ env.ALIHUB_IMAGE_REPONAME }}/${{ env.IMAGE_REPONAME }}:${{ steps.date.outputs.today }}