Laravel Türkiye Discord Kanalı Forumda kod paylaşılırken dikkat edilmesi gerekenler!Birlikte proje geliştirmek ister misiniz?
Selamlar,

Git üzerinde 3 adet branchim var. Development, Test, Master

Test ve Master branchlerim online ortamda olmasını istiyorum. GitLab kullanmaktayım. GitHub'ta yer yer kullanıyorum. Test ve Masterla merge ettiğimde otomatik olarak yayına çıksın istiyorum.

Umarım derdimi anlatabilmişimdir.

Otomatik yayınlama işlemini nasıl yapmam gerekiyor. Webhook a rastladım ve biraz araştırdım ancak çözüme ulaşamadım.

Yardımlarınızı rica ediyorum.
Bunlar için çeşitli deployment araçları vardır.Basic olanı webhooktur.Bu bölümde tanımlayacağınız bir post urlsine,belirlediğiniz branch için push geldiğinde github yada benzeri firmalar post atar ve sizde bu belirlediğiniz post adresinde hayal edebildiğiniz herşeyi yapabilirsiniz.

Örneğin; https://symfony.com/doc/current/components/process.html

bu componenti kullanarak git komutu çalıştırabilirsiniz.
Webhook isteği POST ile size php://input formatında veri gönderir. Şu şekilde o veriye ulaşırsınız:
$payload = json_decode(file_get_contents('php://input'));
// ya da Laravel içerisinde
$payload = json_decode($request->getContent());
Örneğin:
Route::post('deploy')->uses('DeployController@deploy');

// DeployController.php
public function deploy(Request $request)
{
 $payload = json_decode($request->getContent());

 // Burada gelen veriyi dump ile alıp analiz edin, ne geliyor neler işinize yarar vs öğrenin.
 // Sonra deathisonitsway'in dediği gibi Process ile git pull yaptırabilirsiniz.
 $process = new \Symfony\Component\Process\Process('git pull'); // ya da git pull origin master
 $process->run();
}
Burdan yola çıkarak bir deployment/update mantığı kurmalısınız.
Çok teşekkür ederim uygulamaya çalışacağım.
gitlabda bir repoya girince sol menüde settings integrations altında webhook ekleyebilirsiniz.

burada x-gitlab-token isimli bir header de gönderiyor gitlab post requestin içinde, bu token ı da siz belirliyorsunuz. post requesti aldığınız yerde bununla güvenlik sağlayabilirsiniz bu token doğru değilse işlemi yapma gibi.
alihankoc yazdıgitlabda bir repoya girince sol menüde settings integrations altında webhook ekleyebilirsiniz.

burada x-gitlab-token isimli bir header de gönderiyor gitlab post requestin içinde, bu token ı da siz belirliyorsunuz. post requesti aldığınız yerde bununla güvenlik sağlayabilirsiniz bu token doğru değilse işlemi yapma gibi.
Teşekkür ederim dikkate alarak kullanacağım.