cicd
All checks were successful
Build and Deploy Frontend / build-and-deploy-frontend (push) Successful in 28s
All checks were successful
Build and Deploy Frontend / build-and-deploy-frontend (push) Successful in 28s
This commit is contained in:
83
.gitea/workflows/main.yml
Normal file
83
.gitea/workflows/main.yml
Normal file
@@ -0,0 +1,83 @@
|
||||
name: Build and Deploy Frontend
|
||||
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- master
|
||||
|
||||
jobs:
|
||||
build-and-deploy-frontend:
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
# Checkout
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v4
|
||||
|
||||
# Docker smoke test
|
||||
- name: Docker smoke test
|
||||
run: docker ps -a
|
||||
|
||||
# Docker login a Gitea registry-be
|
||||
- name: Docker login
|
||||
run: |
|
||||
echo "${{ secrets.REGISTRY_PASSWORD }}" \
|
||||
| docker login git.petyi.eu -u "${{ secrets.REGISTRY_USER }}" --password-stdin
|
||||
|
||||
# Docker build (prod, nginx-es image)
|
||||
- name: Docker build (frontend prod)
|
||||
run: |
|
||||
docker build \
|
||||
-t git.petyi.eu/szakdolgozat/frontend:latest \
|
||||
--build-arg VITE_BACKEND_API_HOST="http://k8s.petyi.eu" \
|
||||
--build-arg VITE_BACKEND_API_PORT="30080" \
|
||||
.
|
||||
|
||||
# Docker push
|
||||
- name: Docker push
|
||||
run: |
|
||||
docker push git.petyi.eu/szakdolgozat/frontend:latest
|
||||
|
||||
# Kubeconfig beállítása (service accountos kubeconfig)
|
||||
- name: Set up kubeconfig
|
||||
env:
|
||||
KUBECONFIG: /tmp/kubeconfig
|
||||
run: |
|
||||
echo "${{ secrets.KUBECONFIG_B64 }}" | base64 -d > "$KUBECONFIG"
|
||||
echo "==== kubeconfig contexts ===="
|
||||
kubectl config get-contexts || true
|
||||
|
||||
# Kubernetes smoke test
|
||||
- name: Kubernetes smoke test
|
||||
env:
|
||||
KUBECONFIG: /tmp/kubeconfig
|
||||
run: |
|
||||
kubectl cluster-info
|
||||
kubectl -n szakdolgozat get pods
|
||||
|
||||
# Rollout restart a frontend deploymentre
|
||||
- name: Rollout restart frontend deployment
|
||||
env:
|
||||
KUBECONFIG: /tmp/kubeconfig
|
||||
run: |
|
||||
kubectl -n szakdolgozat rollout restart deployment/telefonkonyv-frontend
|
||||
kubectl -n szakdolgozat rollout status deployment/telefonkonyv-frontend --timeout=60s
|
||||
|
||||
# Frontend URL kiírása + Step Summary
|
||||
- name: Show Frontend URL
|
||||
env:
|
||||
KUBECONFIG: /tmp/kubeconfig
|
||||
run: |
|
||||
FRONTEND_NODEPORT=$(kubectl -n szakdolgozat get svc telefonkonyv-frontend -o jsonpath='{.spec.ports[0].nodePort}')
|
||||
URL="http://k8s.petyi.eu:${FRONTEND_NODEPORT}"
|
||||
echo "Frontend URL: ${URL}"
|
||||
|
||||
# Ha a runner biztosítja a step summary-t (Gitea act_runner szokta),
|
||||
# akkor írjuk bele oda is:
|
||||
if [ -n "${GITHUB_STEP_SUMMARY}" ]; then
|
||||
{
|
||||
echo "### Frontend deployment"
|
||||
echo ""
|
||||
echo "- URL: ${URL}"
|
||||
} >> "${GITHUB_STEP_SUMMARY}"
|
||||
fi
|
||||
Reference in New Issue
Block a user