From ff8b78b24b0b039cd5eca837051fed8dc044c6c5 Mon Sep 17 00:00:00 2001 From: plf1996 Date: Tue, 16 Jun 2026 16:20:49 +0800 Subject: [PATCH] ci: full CI/CD pipeline with build, push, deploy --- .gitea/workflows/ci.yml | 30 +++++++++++++++++++++++++++--- 1 file changed, 27 insertions(+), 3 deletions(-) diff --git a/.gitea/workflows/ci.yml b/.gitea/workflows/ci.yml index e495924..ccf93ae 100644 --- a/.gitea/workflows/ci.yml +++ b/.gitea/workflows/ci.yml @@ -5,8 +5,32 @@ on: branches: [main] jobs: - test: + build-and-deploy: runs-on: docker steps: - - name: Hello - run: echo "CI Pipeline triggered successfully on ${GITHUB_SHA}" + - name: Clone + run: | + git clone https://git.plfai.cn/test/fastapi-demo.git . + git checkout ${GITHUB_SHA} + + - 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: | + k3s kubectl rollout restart deployment/fastapi-app -n fastapi-demo + + - name: Health Check + run: | + sleep 5 + curl -sk --connect-timeout 10 --retry 3 https://fastapi.plfai.cn/health