diff --git a/.gitea/workflows/build-image.yml b/.gitea/workflows/build-image.yml new file mode 100644 index 00000000..9936840a --- /dev/null +++ b/.gitea/workflows/build-image.yml @@ -0,0 +1,53 @@ +name: Build Docker Image + +on: + workflow_dispatch: + inputs: + branch: + description: '要打包的分支' + required: true + default: 'custom' + tag: + description: '镜像 tag(留空则用 commit short hash)' + required: false + default: '' + +jobs: + build: + runs-on: ubuntu-latest + steps: + - name: Checkout target branch + uses: actions/checkout@v4 + with: + ref: ${{ inputs.branch }} + fetch-depth: 0 + + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v3 + + - name: Login to Gitea Container Registry + uses: docker/login-action@v3 + with: + registry: git.zhengchentao.win + username: ${{ gitea.actor }} + password: ${{ secrets.PACKAGES_TOKEN }} + + - name: Determine image tag + id: meta + run: | + if [ -n "${{ inputs.tag }}" ]; then + IMAGE_TAG="${{ inputs.tag }}" + else + IMAGE_TAG="$(git rev-parse --short HEAD)" + fi + echo "image_tag=$IMAGE_TAG" >> $GITHUB_OUTPUT + echo "==> Image tag: $IMAGE_TAG" + + - name: Build and push + uses: docker/build-push-action@v5 + with: + context: . + push: true + tags: | + git.zhengchentao.win/dev/ezbookkeeping:${{ steps.meta.outputs.image_tag }} + git.zhengchentao.win/dev/ezbookkeeping:latest \ No newline at end of file