add action
This commit is contained in:
47
.gitea/workflows/build-and-push.yml
Normal file
47
.gitea/workflows/build-and-push.yml
Normal 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"
|
||||||
Reference in New Issue
Block a user