subasioguz
Merhaba arkadaşlar bi konuda sizlere danışmak istiyorum.
Laravel ile yazdığım bir projemi 3 site kullanıyor şu anlık. Hepsi ayrı sunucuda. Ben yazılımda değişiklik yapıp git ile uzak sunucuya gönderdiğimde aynı anda 3 sunucuda da güncellenmesini istiyorum. CI yapısı hazırlamam lazım sanırım bu konuda bilgi verebilecek var mı ?
Not : migration kullanmıyorum.
Yardımlarınızı bekliyorum. teşekkürler.
mgsmus
Github ve Bitbucket'da webhook özelliği var. Pull, push... gibi git komutları çalıştıktan sonra bir takım işlemleri otomatik yapmanıza olanak sağlıyor. Açıkçası verdiğiniz bir url'ye repo ve yapılan işlemleri içeren bir istek gönderiyor. Sizin de /deploy şeklinde bir rotanız olduğunu düşünün. Her push yapmanızda webhook example.com/deploy adresine istek gönderecek. Size de gelen isteği okutup ona göre işlem yaptıracaksınız, mesela git pull. Birden fazla webhook ekleyebiliyorsunuz, 3 adrese istek göndertebilirsiniz yani.
subasioguz
Webhook ile yapabilirim ama bu siteler sürekli artıyor. Bunlara dinamik bir yapı kurmam gerekiyor. Webhook ile sorunsuz yaptım çalıştırdım. Fakat dediğim gibi dinamik olarak bunu kurgulanması lazım. Cevabınız için teşekkür ederim.
mgsmus
Tek bir site için webhook kullanın. Arka planda diğer sitelerenize siz güncelleme isteğini gönderin.
Push sonrası bu adrese istek gitsin:
update.benimsitem.com/deploy
Sizin içeride proje domain listesi olsun, onların deploy adresine güncelleme isteği gönderin. Yeni proje bitirdiğinizde bu listeye eklersiniz aynı şekilde, tek webhook ile halledilmiş olur. Hem bazı durumlarda webhook'da problem olduğunda manuel istekte de bulunabilirsiniz böylece.
sineld
4,5,6 ... 20 kullanıcınız olsa iş yükünüz gittikçe artacak, @mgsmus'ın ikinci mesajın söz ettiği yöntemi kullanabilirsiniz veya tablolarınıza site_id ekleyip ortak veritabanı ve ortak uygulama kullanma yoluna gidebilirsiniz.