v2.5.2
Giriş yap

Php uzaktan uygulama güncelleme

muhammedcan
475 defa görüntülendi

Php ile yaptığım bir web uygulamasında uzaktan güncelleme yapmak istiyorum. Güncellemenin versiyonunu kontrol edip, ona göre eğer yeni güncelleme var ise güncelle butonu ile uzaktan güncelleme işlemi yapacak bir script yapmak istiyorum. Tavsiye ve Yardımlarınızı rica ederim.

Örnek bir github reposu buldum fakat pek beceremedim.
GitHub Repo

ebykdrms
883 gün önce

Anladığım kadarıyla siz kodunuzu mesela GitLab'a göndermek istiyorsunuz.
Sonra da otomatik bir sistemin bu kodu sunuculara dağıtmasını istiyorsunuz.
Yani siz git push dedikten sonra bu sistemin kurulu olduğu sunucularda kodunuz otomatik yenilensin istiyorsunuz.

Daha doğrusu siz kodunuzu GitLab'a gönderdikten sonra, kendi panelinizdeki bir Güncelle butonuna basarak GitLab'daki projenizin güncel halinin tüm sunuculara otomatik gönderilmesini istiyorsunuz.

2 türlüsü de mümkün. Ancak sunucuların kontrolünün sizde olması lazım.

Diyelim ki aynı projeyi hem A hem B sunucusuna kurdunuz. Bir de kendinize ait bir Merkez sunucunuz var.
Bu iki sunucuda da projenize git ekleyip GitLab hesabınıza bağlamalısınız.

Manuel olarak bu işi yapmak için:
Hem A hem B sunucularında bir web servisiniz veya projenize dahil bir endpoint'iniz olmalı. Merkez sunucunuzdaki panelinizden butona bastığınızda A ve B sunucularındaki web servisinize bir istek atmalısınız.
A ve B sunucularındaki web servis de istek geldiği zaman shell bağlantısı açıp projeye girmeli ve git pull komutu vermeli.
Ben olsam çok daha kolay bir yöntem olan GitLab runner'larından faydalanmak yerine böyle kendi oluşturduğum yöntemi kullanmayı tercih ederim.

GitLab'ın dahili yöntemleriyle bu işi yapmak için:
Bu işler daha da otomatik olsun, ben GitLab'a gönderdiğim gibi hemen sunuculara dağılsın, benim de bir Merkez paneline bunun için buton koymama gerek kalmasın derseniz de CI/CD şeklinde bir araştırma yapabilirsiniz. GitLab'ın runner'ları sizin oluşturduğunuz .gitlab-ci.yml dosyanıza bakarak A ve B sunucularının terminaline bağlanıp projenizi pull edebilir.

Bu işlemi çözmek için kendi kodlarınızı yazmayacaksanız kalın yazdığım ifadeleri araştırabilirsiniz.