İş akışınızı otomatikleştirmek ve güncellemeleri hızlandırmak adına, PHP scriptleri için Git tabanlı deployment kurulumu kritik bir adım olabilir. Bu süreç, kod değişikliklerinin merkezi versiyon kontrol sisteminden (Git) doğrudan canlı sunucuya aktarılmasını sağlar ve manuel müdahaleleri en aza indirir. Bu yazıda, temel adımlar üzerinden git tabanlı otomatik deployment kurulumu ve dikkat edilmesi gereken noktaları detaylandıracağız.
Her şeyden önce, sunucunuzda Git’in kurulu olması gerekir. Eğer kurulu değilse, çoğu Linux dağıtımında aşağıdaki komutla yükleyebilirsiniz:
1sudo apt-get install git
İkinci adımda, projeyi yerel makinenizde veya geliştirme ortamınızda Git deposuna yükleyin. Bu aşamada, projeyi
remote repository ile ilişkilendirdikten sonra, düzenli olarak commit ve push yapmanız gerekir.
Üçüncü aşamada, canlı sunucuya erişimi olan bir kullanıcı veya CI/CD aracını yapılandırarak, belirli bir branch’e (örneğin master veya main) push edildiğinde otomatik deployment tetiklenebilir. Bu noktada,
post-receive veya
deploy hook kullanımı en yaygın çözümdür. Sunucu tarafında, şu dizinde hook betiği oluşturabilirsiniz:
1~/.git/hooks/post-receive
Bu betiğin içeriği, push sonrası yapılacak adımları belirler. Örneğin, aşağıdaki gibi bir script, gelen kodu belirli bir dizine kopyalar ve uygun izinleri set eder:
1234567#!/bin/bash
GIT_REPO='/var/www/myproject.git'
TARGET_DIR='/var/www/html/myproject'
cd $TARGET_DIR
git pull origin main
[b]gerekirse, önbellek temizleme veya diğer adımlar burada eklenir[/b]
Son olarak, bu betiğe çalıştırma izni vermek gerekir:
1chmod +x ~/.git/hooks/post-receive
Ayrıca, otomasyonun güvenilir olması için, SSH anahtarları ve erişim izinleri dikkatli yapılandırılmalı, ayrıca güncellemeleri test ortamında doğrulamak için staging aşaması eklemek faydalıdır. Bu sayede, kodun doğrudan canlıya geçişi sırasında oluşabilecek hatalar minimize edilir.
Tüm bu adımlar, PHP scriptleri ve web uygulamalarınız için güvenli, hızlı ve sürdürülebilir bir deployment altyapısı kurmanıza olanak sağlar. Bu karmaşık süreç, dikkatli yapılandırıldığında, geliştirme ve üretim ortamları arasındaki farkı azaltır ve güncellemeleri çok daha kontrollü hale getirir.