2026-02-24 20:44:16 +00:00
|
|
|
|
export ENV=${1:-dev}
|
|
|
|
|
|
echo "Env değeri: ${ENV}"
|
|
|
|
|
|
|
|
|
|
|
|
cd ~/sozsoft-platform
|
|
|
|
|
|
git checkout main
|
2026-08-15 06:30:36 +00:00
|
|
|
|
# --tags --force: sürüm notları git tag'lerinden üretiliyor; yerel tag origin'den
|
|
|
|
|
|
# farklı commit'e bakıyorsa --force olmadan reddedilir ve yeni tag'ler gelmez.
|
|
|
|
|
|
git fetch --prune --prune-tags --tags --force && git pull
|
|
|
|
|
|
|
2026-08-17 08:51:46 +00:00
|
|
|
|
# Sürüm notları imaja gömülü değil; konteynere configs/change-logs klasöründen
|
2026-08-15 06:30:36 +00:00
|
|
|
|
# mount ediliyor ve API açılışta veritabanına senkronize ediyor (DbMigrator
|
|
|
|
|
|
# gerekmez). `bash ...` ile çağrılır: depo Windows'tan yönetildiği için
|
|
|
|
|
|
# çalıştırma biti kaybolunca "Permission denied" verip notları sessizce düşürüyordu.
|
2026-08-17 08:51:46 +00:00
|
|
|
|
RELEASE_NOTES=~/sozsoft-platform/configs/change-logs/change-logs.json
|
|
|
|
|
|
bash ~/sozsoft-platform/configs/change-logs/generate-change-logs.sh
|
2026-08-15 06:30:36 +00:00
|
|
|
|
|
2026-08-17 08:51:46 +00:00
|
|
|
|
# Dosya yoksa API açılışta "change-logs.json bulunamadı" uyarısı verir ve
|
2026-08-15 06:30:36 +00:00
|
|
|
|
# changelog eskir; sessizce devam etmek yerine burada dur.
|
|
|
|
|
|
if [ ! -s "$RELEASE_NOTES" ]; then
|
|
|
|
|
|
echo "HATA: ${RELEASE_NOTES} üretilemedi, deploy durduruldu." >&2
|
|
|
|
|
|
exit 1
|
|
|
|
|
|
fi
|
2026-02-24 20:44:16 +00:00
|
|
|
|
|
|
|
|
|
|
cd ~/sozsoft-platform/configs/deployment
|
2026-10-17 18:51:10 +00:00
|
|
|
|
COMPOSE="docker compose -f docker-compose-app.yml -f docker-compose-app.${ENV}.yml"
|
|
|
|
|
|
|
|
|
|
|
|
# Konteynerler önceden durdurulup silinmez: imajlar önce indirilir, `up -d` değişen
|
|
|
|
|
|
# servisi yerinde yeniden oluşturur. Böylece kesinti pull süresi kadar değil, konteyner
|
|
|
|
|
|
# değişimi kadardır; UI'nin eski sürüm chunk'ları da `ui-assets` volume'unda kalır.
|
|
|
|
|
|
$COMPOSE --profile api --profile ui pull
|
|
|
|
|
|
$COMPOSE --profile api up -d --remove-orphans
|
|
|
|
|
|
$COMPOSE --profile ui up -d --remove-orphans
|