add action

This commit is contained in:
2025-09-29 19:47:13 +08:00
parent f37fe4b11a
commit 1c8fc3c150

View File

@@ -0,0 +1,47 @@
name: Build and Push to ACR
on:
push:
branches: [ main ]
release:
types: [ published ]
workflow_dispatch: # ← 手动触发
inputs:
image_tag: # 可选输入:手动运行时指定 TAG
description: "Tag to push (default: latest or branch/tag name)"
required: false
default: ""
jobs:
docker:
runs-on: [docker]
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Login to ACR
run: |
echo "${{ secrets.ACR_PASSWORD }}" | docker login \
${{ secrets.ACR_REGISTRY }} \
-u "${{ secrets.ACR_USERNAME }}" \
--password-stdin
- name: Build Docker Image
run: |
IMAGE=${{ secrets.ACR_REGISTRY }}/${{ secrets.ACR_NAMESPACE }}/myapp
# 优先用手动输入的 image_tag否则用分支/发布名;再否则用 latest
TAG="${{ github.event.inputs.image_tag }}"
if [ -z "$TAG" ]; then TAG="${GITHUB_REF_NAME:-latest}"; fi
echo "Building $IMAGE:$TAG"
docker build -t "$IMAGE:$TAG" -f docker/Dockerfile .
- name: Push Docker Image
run: |
IMAGE=${{ secrets.ACR_REGISTRY }}/${{ secrets.ACR_NAMESPACE }}/myapp
TAG="${{ github.event.inputs.image_tag }}"
if [ -z "$TAG" ]; then TAG="${GITHUB_REF_NAME:-latest}"; fi
echo "Pushing $IMAGE:$TAG"
docker push "$IMAGE:$TAG"