Add K8s manifests and CD pipeline for K3s deployment

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
kaffa
2026-02-09 12:16:24 +09:00
parent eff0572107
commit 6179454cd8
4 changed files with 108 additions and 1 deletions

View File

@@ -1,4 +1,4 @@
name: Build and Push Container Image
name: CI/CD Pipeline
on:
push:
@@ -52,3 +52,30 @@ jobs:
run: |
VERSION=${GITEA_REF#refs/tags/}
docker push ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:${VERSION}
deploy:
runs-on: ubuntu-latest
needs: build
if: gitea.event_name != 'pull_request'
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup kubeconfig
run: |
mkdir -p ~/.kube
echo "${{ secrets.KUBE_CONFIG }}" | base64 -d > ~/.kube/config
chmod 600 ~/.kube/config
- name: Apply manifests
run: |
kubectl apply -f k8s/configmap.yaml -f k8s/service.yaml -f k8s/deployment.yaml
- name: Update image
run: |
kubectl set image deployment/cfb-manager \
cfb-manager=${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:${{ gitea.sha }}
- name: Wait for rollout
run: |
kubectl rollout status deployment/cfb-manager --timeout=120s