avisenna-landing-page/.forgejo/workflows/build-and-deploy.yaml
kebrahimpour 18c27ba854
All checks were successful
Build and Deploy / build-and-deploy (push) Successful in 8s
ci: push image to Forgejo registry, pull from K3s
2026-03-27 23:28:04 +01:00

44 lines
1.2 KiB
YAML

name: Build and Deploy
on:
push:
branches:
- main
- dev
- 'feat/**'
- 'test/**'
- 'fix/**'
- 'hotfix/**'
env:
REGISTRY: git.avisenna-engineering.de
IMAGE: git.avisenna-engineering.de/keyvan/avisenna-landing-page
VERSION: latest
NAMESPACE: ${{ github.ref == 'refs/heads/main' && 'prod' || 'web' }}
jobs:
build-and-deploy:
runs-on: ubuntu-latest
container:
image: git.avisenna-engineering.de/keyvan/ci-runner:latest
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- /etc/rancher/k3s/k3s.yaml:/etc/rancher/k3s/k3s.yaml
env:
KUBECONFIG: /etc/rancher/k3s/k3s.yaml
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Login to Forgejo registry
run: echo "${{ secrets.REGISTRY_PASSWORD }}" | docker login $REGISTRY -u ${{ secrets.REGISTRY_USERNAME }} --password-stdin
- name: Build and push Docker image
run: |
docker build -t $IMAGE:$VERSION .
docker push $IMAGE:$VERSION
- name: Deploy to Kubernetes
run: |
kubectl set image deployment/homepage homepage=$IMAGE:$VERSION -n $NAMESPACE
kubectl rollout restart deployment/homepage -n $NAMESPACE