feat: test ci cd

This commit is contained in:
zzw
2026-08-11 17:12:37 +08:00
parent 72a3a26d72
commit 424e67acdc
24 changed files with 340 additions and 94 deletions
+33
View File
@@ -0,0 +1,33 @@
name: CD Test
on:
workflow_run:
workflows:
- CI
types:
- completed
workflow_dispatch:
jobs:
deploy:
if: ${{ gitea.event_name == 'workflow_dispatch' || gitea.event.workflow_run.conclusion == 'success' }}
runs-on: runner
defaults:
run:
shell: sh
steps:
- name: Login Registry
run: |
echo "${{ secrets.REGISTRY_PASSWORD }}" | docker login ${{ vars.REGISTRY }} \
-u "${{ vars.REGISTRY_USERNAME }}" \
--password-stdin
- name: Pull and Deploy
working-directory: /data/www/server/deploy
run: |
docker pull ${{ vars.REGISTRY }}/lone/bff:latest
docker pull ${{ vars.REGISTRY }}/lone/product:latest
docker pull ${{ vars.REGISTRY }}/lone/admin:latest
docker compose up -d
+36 -5
View File
@@ -7,6 +7,7 @@ on:
paths:
- "bff/**"
- "product/**"
- "admin/**"
- "pkg/**"
- ".gitea/workflows/ci.yml"
workflow_dispatch:
@@ -17,6 +18,7 @@ jobs:
outputs:
bff: ${{ steps.filter.outputs.bff }}
product: ${{ steps.filter.outputs.product }}
admin: ${{ steps.filter.outputs.admin }}
steps:
- name: Checkout
uses: https://git.ailuowan.com/deploy/checkout@v4
@@ -28,10 +30,12 @@ jobs:
run: |
bff=false
product=false
admin=false
if [ "${{ github.event_name }}" = "workflow_dispatch" ]; then
bff=true
product=true
admin=true
else
before="${{ github.event.before }}"
if [ -z "$before" ] || [ "$before" = "0000000000000000000000000000000000000000" ]; then
@@ -45,11 +49,13 @@ jobs:
echo "$changed" | grep -qE '^(bff|pkg)/|^\.gitea/workflows/ci\.yml$' && bff=true || true
echo "$changed" | grep -qE '^(product|pkg)/|^\.gitea/workflows/ci\.yml$' && product=true || true
echo "$changed" | grep -qE '^(admin|pkg)/|^\.gitea/workflows/ci\.yml$' && admin=true || true
fi
echo "bff=$bff" >> "$GITHUB_OUTPUT"
echo "product=$product" >> "$GITHUB_OUTPUT"
echo "bff=$bff product=$product"
echo "admin=$admin" >> "$GITHUB_OUTPUT"
echo "bff=$bff product=$product admin=$admin"
docker-bff:
needs: changes
@@ -57,7 +63,6 @@ jobs:
runs-on: runner
env:
NAME: lone/bff
CONTEXT: ./bff
steps:
- name: Checkout
uses: https://git.ailuowan.com/deploy/checkout@v4
@@ -69,8 +74,9 @@ jobs:
- name: Docker build
run: |
docker build \
-f bff/Dockerfile \
-t ${{ vars.REGISTRY }}/$NAME:latest \
$CONTEXT
.
- name: Docker push
run: |
@@ -82,7 +88,6 @@ jobs:
runs-on: runner
env:
NAME: lone/product
CONTEXT: ./product
steps:
- name: Checkout
uses: https://git.ailuowan.com/deploy/checkout@v4
@@ -94,8 +99,34 @@ jobs:
- name: Docker build
run: |
docker build \
-f product/Dockerfile \
-t ${{ vars.REGISTRY }}/$NAME:latest \
$CONTEXT
.
- name: Docker push
run: |
docker push ${{ vars.REGISTRY }}/$NAME:latest
docker-admin:
needs: changes
if: needs.changes.outputs.admin == 'true'
runs-on: runner
env:
NAME: lone/admin
steps:
- name: Checkout
uses: https://git.ailuowan.com/deploy/checkout@v4
- name: Login Registry
run: |
echo "${{ secrets.REGISTRY_PASSWORD }}" | docker login ${{ vars.REGISTRY }} -u "${{ vars.REGISTRY_USERNAME }}" --password-stdin
- name: Docker build
run: |
docker build \
-f admin/Dockerfile \
-t ${{ vars.REGISTRY }}/$NAME:latest \
.
- name: Docker push
run: |