Files
agent-call/.gitea/workflows/management-images.yml
T
rogee b6d0af1a56
management-images / build-and-publish (push) Successful in 9m15s
docs: add one-click management deployment and image workflow
2026-09-16 17:57:05 +08:00

71 lines
2.1 KiB
YAML

name: management-images
on:
pull_request:
push:
branches:
- main
tags:
- 'v*'
workflow_dispatch:
jobs:
build-and-publish:
runs-on: ubuntu-latest
env:
REGISTRY: git.ipao.vip
IMAGE_BASE: git.ipao.vip/rogee/agent-call
MANAGEMENT_UI_API_URL: ${{ vars.MANAGEMENT_UI_API_URL }}
steps:
- name: Checkout
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- name: Build management API image
run: |
set -eu
docker build \
--file management/deploy/Dockerfile.backend \
--tag "$IMAGE_BASE-management-api:$GITHUB_SHA" \
management/backend
- name: Build management UI image
run: |
set -eu
api_url="${MANAGEMENT_UI_API_URL:-http://localhost:8080}"
docker build \
--file management/deploy/Dockerfile.frontend \
--build-arg "VITE_MANAGEMENT_API_URL=$api_url" \
--tag "$IMAGE_BASE-management-ui:$GITHUB_SHA" \
management/frontend
- name: Log in to Gitea Container Registry
if: github.event_name != 'pull_request'
env:
REGISTRY_USERNAME: ${{ github.repository_owner }}
REGISTRY_TOKEN: ${{ secrets.REGISTRY_TOKEN }}
run: |
set -eu
test -n "$REGISTRY_TOKEN"
printf '%s' "$REGISTRY_TOKEN" | docker login "$REGISTRY" \
--username "$REGISTRY_USERNAME" --password-stdin
- name: Push immutable and release tags
if: github.event_name != 'pull_request'
run: |
set -eu
tags="$GITHUB_SHA"
if [ "${GITHUB_REF_TYPE:-}" = tag ]; then
tags="$tags $GITHUB_REF_NAME"
fi
if [ "${GITHUB_REF_NAME:-}" = main ]; then
tags="$tags latest"
fi
for component in management-api management-ui; do
for tag in $tags; do
docker tag \
"$IMAGE_BASE-$component:$GITHUB_SHA" \
"$IMAGE_BASE-$component:$tag"
docker push "$IMAGE_BASE-$component:$tag"
done
done