Files
dogu/.gitea/workflows/deploy.yaml
gitmuhammedalbayrak de91507cd9
Some checks failed
Harita Build ve Deploy / build-and-deploy (push) Failing after 28s
CD eklentisi - ek.
2025-11-20 16:17:59 +03:00

60 lines
2.4 KiB
YAML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

name: Harita Build ve Deploy
run-name: ${{ gitea.actor }} Harita Build ve Deploy 🚀
on: [push]
jobs:
build-and-deploy:
runs-on: ubuntu-latest
# ⚠️ BURADA DOCKER_HOST TANIMLAMIYORUZ!
# Runner, kendi iç mekanizmasıyla TCP üzerinden otomatik bağlanacaktır (Sizin stabil ayarınız).
steps:
- name: Kodu Çek (Checkout)
uses: actions/checkout@v3
# -----------------------------------------------------------------
# CI KISMI
# -----------------------------------------------------------------
- name: Docker Buildx Kurulumu
uses: docker/setup-buildx-action@v3
- name: Docker Login (Gitea Registry)
uses: docker/login-action@v3
with:
registry: git.konstantiniyye.studio
username: gitea_admin
password: ${{ secrets.REGISTRY_TOKEN }}
# PUSH ADIMI: İmajın kimliğini (digest) çıktı olarak alıyoruz
- name: Docker Build ve Push
id: docker_build
uses: docker/build-push-action@v5
with:
context: .
push: true
tags: git.konstantiniyye.studio/gitea_admin/dogu:latest
cache-from: type=gha
cache-to: type=gha,mode=max
# -----------------------------------------------------------------
# CD KISMI (Kubernetes Güncellemesi - GitHub bağımsız)
# -----------------------------------------------------------------
- name: Kubectl Binary Kurulumu
# ARM64 uyumlu kubectl'i kurar (Aksiyon hatası yerine run komutu kullanıldı)
run: |
curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/arm64/kubectl"
chmod +x kubectl
sudo mv kubectl /usr/local/bin/
- name: Kubernetes'e Deploy Et ve Güncelle
run: |
# 1. Kubeconfig içeriğini dosyaya yazar
echo "${{ secrets.KUBE_CONFIG }}" > /tmp/kubeconfig.yaml
# 2. Yeni imaj Digest'ini alır
NEW_IMAGE_DIGEST="git.konstantiniyye.studio/gitea_admin/dogu@${{ steps.docker_build.outputs.digest }}"
# 3. Deployment'taki imajı günceller ve yeniden başlatır
kubectl set image deployment/dogu-haritasi web=${NEW_IMAGE_DIGEST} --kubeconfig=/tmp/kubeconfig.yaml -n default
kubectl rollout restart deployment/dogu-haritasi --kubeconfig=/tmp/kubeconfig.yaml -n default