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   24816 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
<  Ağustos 2018  >
PSÇPCCtPz
12345
6789101112
13141516171819
20212223242526
2728293031


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