34 lines
931 B
YAML
34 lines
931 B
YAML
name: CI/CD Pipeline
|
|
|
|
on:
|
|
push:
|
|
branches: [main]
|
|
|
|
jobs:
|
|
build-and-deploy:
|
|
runs-on: docker
|
|
container:
|
|
image: docker:cli
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@v4
|
|
|
|
- name: Docker Build
|
|
run: |
|
|
docker build --network host \
|
|
-t registry.plfai.cn/fastapi-demo:${GITHUB_SHA:0:7} \
|
|
-t registry.plfai.cn/fastapi-demo:latest \
|
|
.
|
|
|
|
- name: Docker Push
|
|
run: |
|
|
echo "${{ secrets.REGISTRY_PASSWORD }}" | docker login registry.plfai.cn -u k3s --password-stdin
|
|
docker push registry.plfai.cn/fastapi-demo:${GITHUB_SHA:0:7}
|
|
docker push registry.plfai.cn/fastapi-demo:latest
|
|
|
|
- name: Deploy
|
|
run: |
|
|
curl -sk -o /dev/null -X POST \
|
|
-H "Authorization: Bearer ${{ secrets.ARGOCD_TOKEN }}" \
|
|
"https://argocd.plfai.cn/api/v1/applications/fastapi-demo/sync"
|