GitHub Actions veya GitLab CI'yı kullanarak web sitelerini Plesk'e otomatik olarak dağıtın

GitHub Actions veya GitLab CI’yı kullanarak web sitelerini Plesk’e otomatik olarak dağıtın

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:

  1. 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
  2. Git ile bir resim kullanın veya git’i kurun ve anahtarı ayarlayın
  3. Yeni bir şube oluşturun, örneğin,deploy
  4. Dağıtım dalını klonlayın ve .gitklasör dışındaki her şeyi silin
  5. Yerleşik yapıyı önceki derleme adımından klonlanmış (ve artık boş) klasöre taşıyın
  6. ekle, taahhüt et, it

Talimatlar: GitHub

Öncelikle bir ssh anahtarı oluşturun. GitHub ile daha sonra Settings->Deploy keysgenel anahtarı ekleyerek bir dağıtım anahtarı oluşturabilirsiniz . Daha sonra SSH_PRIVATE_KEYaltında adlandırılmış bir depo sırrı oluşturun Settings->Secretsve ö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 keysgenel anahtarı ekleyerek bir dağıtım anahtarı oluşturabilirsiniz . Daha sonra SSH_PRIVATE_KEYaltında adlı korumalı bir değişken yapın Settings->CI/CD->Variablesve ö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.

Share

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir