Git Hook'ları ile deployment
resim bulunamadiGit ile sürüm kontrolü yaptığınız bir sunucuda, yaptığınız çoğu işlemden önce veya sonra, bazı hook'larla, bazı kontrolleri yapabilir (yazdğınız kod belli bir standarda uymuyorsa push'a izin vermemek gibi), veya gerçekleşen bir işlemden sonra bir yere mail atabilir, bir dosyayı başka bir sunucuya taşıyabilir, bir kuyruğa "dosyalar geldi, sen bunları deploy et" diyebilirsiniz.

Örnek olarak, "sunucuya yapılan push'lardan sonra, sunucudaki bir dizine git, bu dizinde 'git pull' çalıştır, ki değişiklikler anında yayında olsun" gibi bir senaryo için, "post-receive" hook'unu kullanabilirsiniz.

post-receive, sunucuya yapılan push'lardan sonra, her obje fetch edildikten sonra çalışır. örnek hook'lar, sonunda ".sample" olarak bulunuyor. Bu senaryo için post-receive.sample dosyasını post-receive olarak değiştirdikten sonra, dosyayı düzenlememiz gerekiyor. Dosyanın en üstündeki "#!/bin/bash" shebang'inden de anlıyoruz ki, burada bash komutları yazabiliyoruz. "âla" diyip, hemen, şöyle bir kural yazdım

cd /home/yuxel/public_html/site.com/
git pull origin master
exec git-update-server-info



Bundan sonra yaptığım her push'da, uzakdaki depoda, ilgili dizine geçip, git pull yapmasını bekliyordum. Yaptığım ilk push'da şöyle bir şeyle karşılaştım

debian:~/$ # git commit -am "everything is something happened" && git push
[master e511920] title changed
 1 files changed, 1 insertions(+), 1 deletions(-)
Counting objects: 5, done.
Compressing objects: 100% (3/3), done.
Writing objects: 100% (3/3), 295 bytes, done.
Total 3 (delta 2), reused 0 (delta 0)
remote: fatal: Not a git repository: '.'
To [email protected]:mysite
   d42fac2..e511920  HEAD -> master



araştırdım, akabinde kuralı şu şekilde değiştirmem gerektiğini öğrendim

cd /home/yuxel/public_html/site.com/
unset GIT_DIR
git pull origin master
exec git-update-server-info


13.Mart.2011 Pazar :: 11:05:53   25670 kere okundu

Konular
Opera {39}
Müzik {70}
Qt {12}
Ben {122}
Debian {26}
Sinema {24}
php/web {44}
Link {58}
KDE {7}

[Konular]


Takvim
<  Aralık 2018  >
PSÇPCCtPz
12
3456789
10111213141516
17181920212223
24252627282930
31


Temalar
xmas
yesilozAskerEdition
yellos
yesiloz
uira
yesilozHtml5
darksight
greeny
opera
default
dx

Es Dost
Altan
Tuğrul
Selçuk
Timu
Mehmet
Ünal
Gökhan
Koray Taylan
Yaşar
Özgür
Orhan
Kemali
Ahmet
Emrah
Kıvanç
BilgiFrekans
Bünyamin
Bedava Site

Gez Gör Arpacık
Opera Türkiye
Uira
Ma"Cess"teleri


Projeler
Beedon
sozluQ
qPod
SourPHP
Ekşigator
Ekşigator-qt
Soccer Madness