Plesk yaygın olarak kullanılan bir web alanı kontrol panelidir ve ücretsiz Plesk Git uzantısı sayesinde tüm değişikliklerinizi herhangi bir CI’dan otomatik olarak dağıtmanız mümkündür.
Ustalaşmak için birleşeceğiniz ve bunların anında yayına gireceği bir kurulum mu hayal ediyorsunuz?
Mümkün! Statik web sitelerimi oluşturmak ve bunları GitHub/GitLab’dan Plesk web alanıma otomatik olarak dağıtmak için Hugo ve NPM’yi kullanıyorum.
Peki bu nasıl mümkün olabiliyor? İşin sırrı , bir webhook çağrıldığı anda herhangi bir git deposunu çekebilen Plesk Git uzantısıdır (bu uzantının sağlayıcınız tarafından yüklenmesi gerekir, ancak çoğu sağlayıcıda mevcuttur). Bunun için, yerleşik yapımızı başka bir şubeye (GitHub sayfalarının çalışma şekline benzer şekilde) itmeliyiz, bu da daha sonra web alanına dağıtılmalıdır.
Git uzantısının kurulu olduğu Plesk paneli.
1. Adım: CI’nızı değiştirin
Burada hangi CI’yi kullandığınıza bağlıdır. GitHub Actions ve GitLab CI ile bunun nasıl yapıldığına dair örnekler sunacağım. Genel olarak adımlar şunlardır:
- Bir ssh anahtarı (dağıtım anahtarı) oluşturun ve depoya CI push erişimi vermek için bunu bir CI değişkenine yerleştirin
- Git ile bir resim kullanın veya git’i kurun ve anahtarı ayarlayın
- Yeni bir şube oluşturun, örneğin,
deploy
- Dağıtım dalını klonlayın ve
.git
klasör dışındaki her şeyi silin - Yerleşik yapıyı önceki derleme adımından klonlanmış (ve artık boş) klasöre taşıyın
- ekle, taahhüt et, it
Talimatlar: GitHub
Öncelikle bir ssh anahtarı oluşturun. GitHub ile daha sonra Settings->Deploy keys
genel anahtarı ekleyerek bir dağıtım anahtarı oluşturabilirsiniz . Daha sonra SSH_PRIVATE_KEY
altında adlandırılmış bir depo sırrı oluşturun Settings->Secrets
ve özel anahtarı ekleyin.
Eylem tanımınız şöyle görünebilir (depo URL’sini değiştirmeyi unutmayın):
GitHub Eylemleri tanımı
Talimatlar: GitLab
Öncelikle bir ssh anahtarı oluşturun. GitLab ile daha sonra Settings-> Repository->Deploy keys
genel anahtarı ekleyerek bir dağıtım anahtarı oluşturabilirsiniz . Daha sonra SSH_PRIVATE_KEY
altında adlı korumalı bir değişken yapın Settings->CI/CD->Variables
ve özel anahtarı ekleyin.
CI tanımınız .gitlab-ci.yml
şöyle görünebilir (depo URL’sini değiştirmeyi unutmayın):
GitLab CI tanımı
Adım 2: Plesk’te bir web sitesi oluşturun
Ardından Plesk’te web sitesini oluşturun ve bir Git deposu ekleyin. Depo özelse, SSH bağlantısı için dağıtım anahtarı olarak Plesk tarafından verilen genel anahtarı GitHub/GitLab’a eklemeniz gerekir. Web alanınızda dağıtım şubesini ve doğru klasörü seçmeyi unutmayın! Talimatı burada bulabilirsiniz .
Plesk, diğer şubeye geçmeden önce her zaman ana şubeyi ilk kez klonlar. Geçiş yaparken eski dosyalar silinmeyecektir, bu nedenle bir kez temizlemeniz ve eski dosyalardan bazılarını web alanı klasöründen kaldırmanız gerekebilir.
3. Adım: Web kancasını yapılandırın
Plesk, Plesk’teki git uzantısının depo ayarları altında size bir webhook URL’si verecektir. Ardından GitHub/GitLab’ı, her push gerçekleştiğinde bu Webhook URL’sini çağıracak şekilde yapılandırın.
GitHub ve GitLab ile bu Settings -> Webhooks
, . Push olaylarını seçin ve Webhook’u test edin.
Adım 4: Kâr edin
Bu kadar! Bu, temel olarak deponuza ve git Plesk uzantısına erişimi olan her CI ile çalışmalıdır.
Bir yanıt yazın