Files
skript-be/mds/deploy.md
Fahri Can Seçer bbec8f09bb
Some checks failed
Build and Deploy Backend / build-and-push (push) Failing after 3m5s
Build and Deploy Backend / deploy (push) Has been skipped
main
2026-01-28 02:31:36 +03:00

2.3 KiB
Raw Permalink Blame History

🚀 SkriptAI Otomatik Deploy (CI/CD) Rehberi

Bu rehber, projenin Gitea Actions kullanılarak otomatik olarak build edilip Raspberry Pi sunucusuna deploy edilmesini sağlar.

1. Gitea Runner Kurulumu (Sunucuda)

CI/CD işleminin çalışması için sunucunda (Raspberry Pi) bir Gitea Runner çalışıyor olmalı.

# act_runner'ı indir (Mimarine uygun olanı seç, örn: linux-arm64)
wget https://dl.gitea.com/act_runner/0.2.6/act_runner-0.2.6-linux-arm64 -O act_runner
chmod +x act_runner

# Register et (Gitea Admin Panel -> Actions -> Runners -> Create Runner token'ı ile)
./act_runner register

# Servis olarak çalıştır (Daemon)
./act_runner daemon

2. Gitea Secrets Ayarları

Gitea reponuzda Settings -> Actions -> Secrets menüsüne giderek aşağıdaki değişkenleri ekleyin:

Secret Adı Değer Örneği ıklama
DOCKER_USERNAME fahricansecer Docker Hub veya Registry kullanıcı adı
DOCKER_PASSWORD ****** Docker Hub Access Token veya şifre
HOST 192.168.1.100 Raspberry Pi IP Adresi (Gitea ile aynı sunucu olsa bile IP yazın)
USERNAME pi Sunucu SSH kullanıcı adı
KEY -----BEGIN OPENSSH PRIVATE KEY... SSH Private Key (Sunucuya şifresiz erişim için)
PORT 22 SSH Portu
DATABASE_URL postgresql://... Production DB bağlantı linki
REDIS_HOST skript-redis Redis host adı
JWT_SECRET cok_gizli_anahtar JWT imzalama anahtarı
GEMINI_API_KEY AIza... Google Gemini API anahtarı

3. Workflow Dosyası

Proje kök dizininde .gitea/workflows/deploy.yaml dosyası oluşturulmuştur. Bu dosya her main branch'ine push yapıldığında çalışır:

  1. Build: Docker imajını oluşturur (node:20-alpine tabanlı).
  2. Push: İmajı Docker Hub'a (veya ayarlı registry'e) yollar.
  3. Deploy: SSH ile sunucuya bağlanır, eski konteyneri durdurur ve yeni imajı çeker.

4. Manuel Tetikleme

Eğer deploy.md dosyasındaki veritabanı kurulumlarını henüz yapmadıysanız, önce Altyapı Kurulumu başlığındaki (bir önceki versiyonda yazan) docker run komutlarıyla postgres ve redis konteynerlerini bir kereye mahsus sunucuda ayağa kaldırın. Bu CI/CD sadece skript-be uygulamasını günceller.