Aracılığıyla paylaş


Azure VMware Çözümü'da GitHub Enterprise Server'ı yapılandırma

Bu makalede, Azure VMware Çözümü özel bulutunuzda GitHub.com'ın "şirket içi" sürümü olan GitHub Enterprise Server'ı ayarlamayı öğrenin. Senaryo, GitHub Actions'ta dakikada 25 iş çalıştıran 3.000'e kadar geliştiriciye hizmet verebilen bir GitHub Enterprise Server örneğini kapsar. (Yazma sırasında) GitHub Actions gibi önizleme özelliklerinin kurulumu dahil. Kurulumu özel gereksinimlerinize göre özelleştirmek için GitHub Enterprise Server'ı VMware'e yükleme bölümünde listelenen gereksinimleri gözden geçirin.

Başlamadan önce

GitHub Enterprise Server için geçerli bir lisans anahtarı gerekir. Deneme lisansına kaydolabilirsiniz. GitHub Enterprise Server'ın özelliklerini tümleştirme yoluyla genişletmek istiyorsanız ücretsiz beş kişilik geliştirici lisansına uygun olup olmadığını denetleyin. GitHub'ın İş Ortağı Programı aracılığıyla bu lisansa başvurun.

VMware'de GitHub Enterprise Server'ı yükleme

  1. VMware ESXi/vSphere (OVA) için GitHub Enterprise Server'ın geçerli sürümünü indirin ve indirdiğiniz OVA şablonunu dağıtın.

    VMware'de GitHub Enterprise Server yükleme seçeneklerini gösteren ekran görüntüsü.

    OVA Şablonu Dağıt menü seçeneğini gösteren ekran görüntüsü.

  2. Yeni sanal makineniz için GitHubEnterpriseServer gibi tanınabilir bir ad sağlayın. Örnek yükseltildiğinde bu ayrıntılar eskidiğinden, sürüm ayrıntılarını VM adına eklemeniz gerekmez.

  3. Şimdilik tüm varsayılan değerleri seçin (ayrıntılar daha sonra düzenlenecek) ve OVA'nın içeri aktarılmasını bekleyin.

  4. İçeri aktarıldıktan sonra, donanım yapılandırmasını gereksinimlerinize göre ayarlayın. Örnek senaryomuzda aşağıdaki yapılandırmaya ihtiyacımız vardır.

    Kaynak Standart Kurulum Standart Kurulum + "Beta Özellikleri" (Eylemler)
    vCPU'lar 4 8
    Hafıza 32 GB 61 GB
    Bağlı depolama 250 GB 300 GB
    Kök depolama 200 GB 200 GB

    İhtiyaçlarınız farklılık gösterebilir. VMware'de GitHub Enterprise Server'ı yükleme konusunda donanımla ilgili dikkat edilmesi gerekenler kılavuzuna bakın. Ayrıca bkz: VMware için CPU veya bellek kaynakları ekleme ve donanım yapılandırmanızı durumunuza göre özelleştirme.

GitHub Enterprise Server örneğini yapılandırma

GitHub Enterprise'ı Yükle penceresinin ekran görüntüsü.

Yeni sağlanan sanal makine (VM) etkinleştirildikten sonra tarayıcınız aracılığıyla yapılandırın. Lisans dosyanızı karşıya yüklemeniz ve bir yönetim konsolu parolası ayarlamanız gerekir. Bu parolayı güvenli bir yere yazdığınızdan emin olun.

Yeni bir SSH anahtarı eklemek için GitHub Enterprise SSH erişim ekranının ekran görüntüsü.

En azından aşağıdaki adımları gerçekleştirmenizi öneririz:

  1. Yönetim kabuğuna SSH aracılığıyla erişebilmek için yönetim konsoluna bir genel SSH anahtarı yükleyin.

  2. Güvenilir bir sertifika yetkilisi tarafından imzalanan bir sertifikayı kullanabilmek için örneğinizde TLS'yi yapılandırın. Ayarlarınızı uygulayın.

    Örneğinize uygulanan ayarları gösteren ekran görüntüsü.

  3. Örnek yeniden başlatılırken GitHub Actions için blob depolamayı yapılandırın.

    Not

    GitHub Actions şu anda GitHub Enterprise Server sürüm 2.22'de sınırlı bir beta olarak kullanılabilir.

    GitHub Enterprise Server'da GitHub Actions'ı etkinleştirmek için dış blob depolama gereklidir (şu anda "beta" özelliği olarak kullanılabilir). Eylemler, koleksiyonları ve kayıtları depolamak için bu dış blob depolamayı kullanır. GitHub Enterprise Server'da Actions özelliği, Azure Blob Depolama'yı (ve diğer bazılarını) bir depolama sağlayıcısı olarak destekler. BlobStorage depolama hesabı türüne sahip yeni bir Azure depolama hesabı oluşturmanız gerekir.

    Azure Blob Depolama hesabı sağlamak için girilmesi gereken örnek ayrıntılarını gösteren ekran görüntüsü.

  4. Yeni BlobStorage kaynak dağıtımı tamamlandıktan sonra, daha sonra kullanmak üzere bağlantı dizesi (Erişim anahtarları altında kullanılabilir) kaydedin.

  5. Örnek yeniden başlatıldıktan sonra örnekte yeni bir yönetici hesabı oluşturun. Bu kullanıcının parolasını da not edin.

    GitHub Enterprise için yönetici hesabı oluştur'u gösteren ekran görüntüsü.

Diğer yapılandırma adımları

Örneğinizi üretim kullanımı için sağlamlaştırmak için aşağıdaki isteğe bağlı kurulum adımları önerilir:

  1. Aşağıdakilere karşı koruma için yüksek kullanılabilirlik yapılandırın:

    • Yazılım kilitlenmeleri (işletim sistemi veya uygulama düzeyi)
    • Donanım hataları (depolama, CPU, RAM vb.)
    • Sanallaştırma ana sistem hataları
    • Mantıksal veya fiziksel olarak ayrılmış ağ
  2. Birincil örnekten ayrı bir kullanılabilirlik içinde barındırılan olağanüstü durum kurtarma için sürümlü anlık görüntüler sağlayarak yedekleme yardımcı programlarını yapılandırın.

  3. Siteler arası betik ve diğer ilgili güvenlik açıklarını azaltmak için geçerli bir TLS sertifikası kullanarak alt etki alanı yalıtımını ayarlayın.

GitHub Actions çalıştırıcısını ayarlama

Not

GitHub Actions şu anda GitHub Enterprise Server sürüm 2.22'de sınırlı bir beta olarak kullanılabilir.

Bu noktada, yönetici hesabı oluşturulmuş bir GitHub Enterprise Server örneğinin çalışıyor olması gerekir. GitHub Actions'ın kalıcılık için kullandığı dış blob depolama alanınız da olmalıdır.

GitHub Actions'ın Azure VMware Çözümü kullanarak çalıştıracağı bir yer oluşturun.

  1. Kümede yeni bir VM sağlayın ve bunu Ubuntu Server'ın son sürümüne dayandırın.

    Yeni bir VM sağlamak için sanal makine adını ve konumunu gösteren ekran görüntüsü.

  2. İşlem kaynağını, depolama alanını ve uyumluluğu seçerek kuruluma devam edin.

  3. VM'ye yüklenmesini istediğiniz konuk işletim sistemini seçin.

    VM'ye yüklenecek Konuk İşletim Sistemi Ailesi ve Konuk İşletim Sistemi sürümünü gösteren ekran görüntüsü.

  4. VM oluşturulduktan sonra, çalıştırın ve SSH aracılığıyla VM'ye bağlanın.

  5. GitHub Actions iş akışından bir iş çalıştıran Actions çalıştırıcı uygulamasını yükleyin. Eylemler çalıştırıcısının en güncel Linux x64 sürümünü sürümler sayfasından veya aşağıdaki hızlı betiği çalıştırarak belirleyin ve indirin. Bu betik, VM'nizde hem curl'ün hem de jq'nin bulunmasını gerektirir.

    LATEST\_RELEASE\_ASSET\_URL=$( curl https://api.github.com/repos/actions/runner/releases/latest | \
    
    jq -r '.assets | .[] | select(.name | match("actions-runner-linux-arm64")) | .url' )
    
    DOWNLOAD\_URL=$( curl $LATEST\_RELEASE\_ASSET\_URL | \
    
    jq -r '.browser\_download\_url' )
    
    curl -OL $DOWNLOAD\_URL
    

    Artık VM'nizde yerel olarak actions-runner-linux-arm64-*.tar.gz bir dosyanız olmalıdır. Bu tar dosyasını yerel olarak çıkartın.

    tar xzf actions-runner-linux-arm64-\*.tar.gz
    

    Bu çıkarım, yerel olarak config.sh ve run.sh betiği de dahil olmak üzere birkaç dosyayı açar.

GitHub Actions'i etkinleştirme

Not

GitHub Actions şu anda GitHub Enterprise Server sürüm 2.22'de sınırlı bir beta olarak kullanılabilir.

GitHub Enterprise Server örneğinde GitHub Actions'ı yapılandırın ve etkinleştirin.

  1. SSH üzerinden GitHub Enterprise Server örneğinin yönetim kabuğuna erişin ve aşağıdaki komutları çalıştırın:

  2. Blob depolama bağlantı dizesi içeren bir ortam değişkeni ayarlayın.

    export CONNECTION\_STRING="<your connection string from the blob storage step>"
    
  3. Eylem depolamayı yapılandırma.

    ghe-config secrets.actions.storage.blob-provider azure
    
    ghe-config secrets.actions.storage.azure.connection-string "$CONNECTION\_STRING`      
    
  4. Ayarları uygulayın.

    ghe-config-apply
    
  5. GitHub Enterprise Server'da Actions için gereken daha fazla yazılım yüklemek için bir ön denetim yürütebilirsiniz.

    ghe-actions-precheck -p azure -cs "$CONNECTION\_STRING"
    
  6. Eylemleri etkinleştirin ve yapılandırmayı yeniden uygulayın.

    ghe-config app.actions.enabled true
    
    ghe-config-apply      
    
  7. Blob depolamanızın durumunu denetleyin.

    ghe-actions-check -s blob
    

    Aşağıdaki çıktıyı görmelisiniz: Blob Depolama iyi durumda.

  8. GitHub Actions yapılandırıldığına göre kullanıcılarınız için etkinleştirin. GitHub Enterprise Server örneğine yönetici olarak giriş yapın ve herhangi bir sayfanın sağ üst köşesindeki öğesini seçin.

  9. Sol kenar çubuğunda Kurumsal genel bakış'ı, ardından İlkeler ve Eylemler'i seçin, sonra Tüm kuruluşlar için Eylemleri etkinleştirme seçeneğini belirleyin.

  10. Çalıştırıcınızı Kendi barındırdığınız çalıştırıcılar sekmesinden yapılandırın. Açılan listeden Yeni ekle ve ardından Yeni çalıştırıcı üzerine tıklayın. Size çalıştırılacak bir dizi komut sunulur.

  11. Çalıştırıcıyı yapılandırmak için komutunu kopyalayın, örneğin:

    ./config.sh --url https://10.1.1.26/enterprises/octo-org --token AAAAAA5RHF34QLYBDCHWLJC7L73MA
    
  12. config.sh Komutu kopyalayın ve Eylemler çalıştırıcınızdaki (daha önce oluşturulan) bir oturuma yapıştırın.

    GitHub Actions çalıştırıcı kaydını ve ayarlarını gösteren ekran görüntüsü.

  13. ./run.sh komutunu kullanarak çalıştırıcıyı çalıştırın:

    İpucu

    Bu çalıştırıcıyı işletmenizdeki kuruluşların kullanımına açmak için kuruluş erişimini düzenleyin. Erişimi kuruluşların bir alt kümesiyle ve hatta belirli depolar ile sınırlayabilirsiniz.

    Kendi kendine barındırılan çalıştırıcılar için erişimi düzenleme işleminin ekran görüntüsü.

(İsteğe bağlı) GitHub Connect'i yapılandırma

Bu adım isteğe bağlı olsa da, GitHub.com'da kullanılabilen açık kaynak eylemleri tüketmeyi planlıyorsanız bunu öneririz. İş akışlarınızdaki bu yeniden kullanılabilir eylemlere başvurarak başkalarının işlerini derlemenize olanak tanır.

GitHub Connect'i etkinleştirmek için GitHub Connect kullanarak GitHub.com eylemlerine otomatik erişimi etkinleştirme'deki adımları izleyin.

GitHub Connect etkinleştirildikten sonra, iş akışı çalıştırmalarında GitHub.com eylemleri kullanmak için Sunucu seçeneğini belirleyin.

Sunucunun, iş akışı çalıştırmalarında GitHub.com eylemlerini kullanabildiği etkin hâlinin ekran görüntüsü.

İlk iş akışınızı ayarlama ve çalıştırma

Actions ve GitHub Connect ayarlandıklarına göre, şimdi tüm bu çalışmaları iyi bir şekilde kullanalım. Aşağıda, mükemmel octokit/request-action'a başvuran ve GitHub Actions desteğiyle GitHub API'sini kullanarak etkileşimler aracılığıyla GitHub'da kod yazmamıza olanak tanıyan örnek bir iş akışı verilmiştir.

Bu temel iş akışında, API'yi kullanarak GitHub'da bir sorun açmak için kullanın octokit/request-action .

Örnek iş akışının ekran görüntüsü.

Not

GitHub.com eylemi barındırıyor, ancak GitHub Enterprise Server'da çalıştırıldığında otomatik olarak GitHub Enterprise Server API'sini kullanıyor.

GitHub Connect'i etkinleştirmemeyi seçerseniz aşağıdaki alternatif iş akışını kullanabilirsiniz.

Alternatif bir örnek iş akışının ekran görüntüsü.

  1. Örneğinizdeki bir depoya gidin ve yukarıdaki iş akışını şu şekilde ekleyin: .github/workflows/hello-world.yml

    Başka bir alternatif örnek iş akışının ekran görüntüsü.

  2. Deponuzun Eylemler sekmesinde iş akışının yürütülmesini bekleyin.

    Yürütülen örnek iş akışının ekran görüntüsü.

    İşlendiğini görebilirsiniz.

    Çalıştırıcı tarafından işlenen iş akışının ekran görüntüsü.

Her şey başarıyla çalıştırıldıysa deponuzda "Merhaba dünya" başlıklı yeni bir konu görmelisiniz.

GitHub'da github-actions tarafından oluşturulan Merhaba dünya sorununun ekran görüntüsü.

Tebrikler! GitHub Enterprise Server'da Azure VMware Çözümü özel bulutunuzda çalıştırılan ilk Actions iş akışınızı tamamladınız.

Bu makale, Azure VMware Solution özel bulutunuzun üzerinde GitHub.com'un yerel olarak barındırılan eşdeğeri olan yeni bir GitHub Enterprise Server örneği ayarlar. Örnek GitHub Actions desteğini içerir ve günlüklerin ve yapıtların kalıcılığı için Azure Blob Depolama kullanır. Ancak GitHub Actions ile yapabileceklerimizin henüz başlangıç aşamasındayız. GitHub Marketi'nde Eylemler listesine göz atın veya kendi eylemlerinizi oluşturun.

Sonraki adımlar

GitHub Enterprise Server'ı Azure VMware Çözümü özel bulutunuzda ayarlamayı kapsadığınıza göre, şu konularda daha fazla bilgi edinin: