Bagikan melalui


Mengonfigurasi GitHub Enterprise Server di Azure VMware Solution

Dalam artikel ini, pelajari cara menyiapkan GitHub Enterprise Server, versi "lokal" GitHub.com, di cloud privat Azure VMware Solution Anda. Skenarionya membahas instans GitHub Enterprise Server yang dapat melayani hingga 3.000 pengembang yang menjalankan hingga 25 pekerjaan per menit pada GitHub Actions. Ini mencakup pengaturan fitur pratinjau (pada saat penulisan), seperti GitHub Actions. Untuk menyesuaikan penyiapan untuk kebutuhan khusus Anda, tinjau persyaratan yang tercantum dalam Menginstal GitHub Enterprise Server di VMware.

Sebelum Anda mulai

GitHub Enterprise Server memerlukan kunci lisensi yang valid. Anda dapat mendaftar untuk lisensi uji coba. Jika Anda ingin memperluas kemampuan GitHub Enterprise Server melalui integrasi, periksa apakah Anda memenuhi syarat untuk mendapatkan lisensi pengembang lima kursi gratis. Ajukan permohonan lisensi ini melalui Program Mitra GitHub.

Menginstal GitHub Enterprise Server di VMware

  1. Unduh rilis GitHub Enterprise Server saat ini untuk VMware ESXi/vSphere (OVA) dan sebarkan templat OVA yang Anda unduh.

    Cuplikan layar memperlihatkan GitHub Enterprise Server pada opsi instalasi VMware.

    Cuplikan layar memperlihatkan opsi menu Sebarkan Templat OVA.

  2. Berikan nama yang dapat dikenali untuk komputer virtual baru Anda, seperti GitHubEnterpriseServer. Anda tidak perlu menyertakan detail rilis dalam nama VM, karena detail ini menjadi kedaluwarsa saat instans ditingkatkan.

  3. Pilih semua default untuk saat ini (detail yang akan diedit nanti) dan tunggu hingga OVA diimpor.

  4. Setelah diimpor, sesuaikan konfigurasi perangkat keras berdasarkan kebutuhan Anda. Dalam skenario contoh kami, kita memerlukan konfigurasi berikut.

    Sumber daya Pengaturan Standar Pengaturan Standar + "Fitur Beta" (Tindakan)
    vCPU 4 8
    Ingatan 32 GB 61 GB
    Penyimpanan terhubung langsung 250 GB 300 GB
    Penyimpanan akar 200 GB 200 GB

    Kebutuhan Anda dapat bervariasi. Lihat panduan tentang pertimbangan perangkat keras dalam Menginstal GitHub Enterprise Server di VMware. Lihat juga Menambahkan sumber daya CPU atau memori untuk VMware untuk menyesuaikan konfigurasi perangkat keras berdasarkan situasi Anda.

Mengonfigurasi instance GitHub Enterprise Server

Cuplikan layar jendela instal GitHub Enterprise.

Setelah komputer virtual (VM) yang baru disediakan diaktifkan, konfigurasikan melalui browser Anda. Anda perlu mengunggah file lisensi dan mengatur kata sandi konsol manajemen. Pastikan untuk menuliskan kata sandi ini di tempat yang aman.

Cuplikan layar layar akses GitHub Enterprise SSH untuk menambahkan kunci SSH baru.

Kami menyarankan untuk setidaknya mengambil langkah-langkah berikut:

  1. Unggah kunci SSH publik ke konsol manajemen, sehingga Anda dapat mengakses shell administratif melalui SSH.

  2. Konfigurasikan TLS pada instans sehingga Anda dapat menggunakan sertifikat yang ditandatangani oleh otoritas sertifikat tepercaya. Terapkan pengaturan Anda.

    Cuplikan layar memperlihatkan pengaturan yang diterapkan pada instans Anda.

  3. Saat instans dimulai ulang, konfigurasikan penyimpanan blob untuk Tindakan GitHub.

    Penyimpanan blob eksternal diperlukan untuk mengaktifkan GitHub Actions di GitHub Enterprise Server (saat ini tersedia sebagai fitur "beta"). Penyimpanan blob eksternal ini digunakan oleh tindakan untuk menyimpan artefak dan log. Actions di GitHub Enterprise Server mendukung Azure Blob Storage sebagai penyedia penyimpanan (dan beberapa lainnya). Anda perlu membuat akun penyimpanan Azure baru dengan jenis akun penyimpanan BlobStorage.

    Cuplikan layar memperlihatkan detail instans yang akan dimasukkan untuk penyediaan akun Azure Blob Storage.

  4. Setelah penyebaran sumber daya BlobStorage baru selesai, simpan string koneksi (tersedia di bawah Kunci akses) untuk digunakan nanti.

  5. Setelah instans dimulai ulang, Anda dapat membuat akun admin baru pada instans. Pastikan untuk membuat catatan kata sandi pengguna ini juga.

    Cuplikan layar memperlihatkan akun Buat admin untuk GitHub Enterprise.

Langkah-langkah konfigurasi lainnya

Untuk mengeraskan instans Anda untuk penggunaan produksi, langkah-langkah penyiapan opsional berikut disarankan:

  1. Mengonfigurasi ketersediaan tinggi untuk perlindungan terhadap:

    • Kerusakan perangkat lunak (tingkat OS atau aplikasi)
    • Kegagalan perangkat keras (penyimpanan, CPU, RAM, dan sebagainya)
    • Kegagalan sistem host virtualisasi
    • Jaringan yang terputus secara logis atau fisik
  2. Mengonfigurasibackup-utilities, menyediakan cuplikan versi untuk pemulihan bencana, yang dihosting dalam penyediaan yang terpisah dari instans utama.

  3. Menyiapkan isolasi subdomain, menggunakan sertifikat TLS yang valid, untuk mengurangi scripting lintas situs dan kerentanan terkait lainnya.

Menyiapkan runner GitHub Actions

Pada titik ini, Anda harus memiliki instans GitHub Enterprise Server yang berjalan, dengan akun administrator dibuat. Anda juga harus memiliki penyimpanan blob eksternal yang akan digunakan GitHub Actions untuk ketahanan.

Buat tempat untuk GitHub Actions berjalan menggunakan Azure VMware Solution.

  1. Sediakan VM baru pada cluster dan mendasarkannya pada rilis baru-baru ini dari Ubuntu Server.

    Cuplikan layar yang memperlihatkan nama dan lokasi mesin virtual untuk menyediakan VM baru.

  2. Lanjutkan melalui penyiapan memilih sumber daya komputasi, penyimpanan, dan kompatibilitas.

  3. Pilih OS tamu yang ingin Anda instal di VM.

    Cuplikan layar yang memperlihatkan Keluarga OS Tamu dan versi OS Tamu yang akan diinstal pada VM.

  4. Setelah VM dibuat, aktifkan dan sambungkan melalui SSH.

  5. Instal aplikasi Actions runner, yang menjalankan sebuah job dari workflow GitHub Actions. Identifikasi dan unduh rilis Linux x64 terbaru dari Actions runner, baik dari halaman rilis atau dengan menjalankan skrip berikut ini. Skrip ini memerlukan curl dan jq di VM Anda.

    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
    

    Anda sekarang harus memiliki file secara lokal di VM Anda, actions-runner-linux-arm64-*.tar.gz. Ekstraklah tarball ini secara lokal.

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

    Ekstraksi ini mengekstrak beberapa file secara lokal, termasuk skrip config.sh dan run.sh.

Mengaktifkan GitHub Actions

Konfigurasikan dan aktifkan GitHub Actions pada instans GitHub Enterprise Server.

  1. Akses shell administratif instans GitHub Enterprise Server melalui SSH, lalu jalankan perintah berikut:

  2. Atur variabel lingkungan yang berisi string koneksi penyimpanan Blob Anda.

    export CONNECTION\_STRING="<your connection string from the blob storage step>"
    
  3. Konfigurasikan penyimpanan tindakan.

    ghe-config secrets.actions.storage.blob-provider azure
    
    ghe-config secrets.actions.storage.azure.connection-string "$CONNECTION\_STRING`      
    
  4. Terapkan pengaturan.

    ghe-config-apply
    
  5. Jalankan pemeriksaan awal untuk menginstal perangkat lunak tambahan yang diperlukan oleh Actions di GitHub Enterprise Server.

    ghe-actions-precheck -p azure -cs "$CONNECTION\_STRING"
    
  6. Aktifkan tindakan, dan terapkan kembali konfigurasi.

    ghe-config app.actions.enabled true
    
    ghe-config-apply      
    
  7. Periksa kesehatan penyimpanan blob storage Anda.

    ghe-actions-check -s blob
    

    Anda seharusnya melihat output: Blob Storage sehat.

  8. Setelah GitHub Actions dikonfigurasi, aktifkan untuk pengguna Anda. Masuk ke instans GitHub Enterprise Server Anda sebagai administrator, lalu pilih di pojok kanan atas halaman mana pun.

  9. Di bilah samping kiri, pilih Gambaran umum perusahaan, lalu Kebijakan, Tindakan, dan pilih opsi untuk mengaktifkan Tindakan untuk semua organisasi.

  10. Konfigurasikan runner Anda dari tab Runner yang dihosting sendiri. Pilih Tambah baru lalu Runner baru dari daftar drop-down. Anda disajikan dengan sekumpulan perintah untuk dijalankan.

  11. Salin perintah untuk mengatur runner, misalnya:

    ./config.sh --url https://10.1.1.26/enterprises/octo-org --token AAAAAA5RHF34QLYBDCHWLJC7L73MA
    
  12. Salin perintah config.sh dan tempelkan ke dalam sesi di runner Actions Anda (dibuat sebelumnya).

    Cuplikan layar memperlihatkan pendaftaran dan pengaturan runner GitHub Actions.

  13. Gunakan perintah ./run.sh untuk menjalankan runner:

    Petunjuk

    Untuk membuat runner ini tersedia bagi organisasi dalam perusahaan Anda, ubah pengaturan akses organisasinya. Anda dapat membatasi akses ke subkumpulan organisasi, dan bahkan ke repositori tertentu.

    Cuplikan layar tentang cara mengedit akses untuk pelari yang dihosting sendiri.

(Opsional) Mengonfigurasi GitHub Connect

Meskipun langkah ini bersifat opsional, kami sarankan jika Anda berencana untuk menggunakan tindakan sumber terbuka yang tersedia di GitHub.com. Ini memungkinkan Anda membuat pekerjaan orang lain dengan merujuk tindakan yang dapat digunakan kembali ini di alur kerja Anda.

Untuk mengaktifkan GitHub Connect, ikuti langkah-langkah dalam Mengaktifkan akses otomatis ke tindakan GitHub.com menggunakan GitHub Connect.

Setelah GitHub Connect diaktifkan, pilih opsi Server untuk menggunakan aksi dari GitHub.com dalam jalannya alur kerja.

Cuplikan layar dari Server dapat menggunakan tindakan dari GitHub.com pada alur kerja yang dijalankan dengan Diaktifkan.

Menyiapkan dan menjalankan alur kerja pertama Anda

Setelah Actions dan GitHub Connect diatur, mari kita manfaatkan semua hasil kerja ini dengan baik. Berikut adalah contoh alur kerja yang mereferensikan octokit/request-action yang sangat baik, memungkinkan kami untuk "scripting" GitHub melalui interaksi menggunakan GitHub API, yang didukung oleh GitHub Actions.

Dalam alur kerja dasar ini, gunakan octokit/request-action untuk membuka masalah di GitHub menggunakan API.

Cuplikan layar alur kerja contoh.

Catatan

GitHub.com menghosting tindakan, tetapi saat dijalankan di GitHub Enterprise Server, otomatis menggunakan GitHub Enterprise Server API.

Jika Anda memilih untuk tidak mengaktifkan GitHub Connect, Anda dapat menggunakan alur kerja alternatif berikut.

Cuplikan layar alur kerja contoh alternatif.

  1. Navigasikan ke repo pada instans Anda, dan tambahkan alur kerja di atas sebagai: .github/workflows/hello-world.yml

    Cuplikan layar alur kerja contoh alternatif lainnya.

  2. Di tab Tindakan untuk repo Anda, tunggu alur kerja dijalankan.

    Cuplikan layar alur kerja contoh yang dijalankan.

    Anda dapat melihatnya sedang diproses.

    Cuplikan layar alur kerja yang diproses oleh runner.

Jika semuanya berjalan dengan sukses, Anda akan melihat isu baru dalam repo Anda, dengan judul "Hello world."

Cuplikan layar dari masalah 'Hello world' di GitHub yang dibuat oleh github-actions.

Selamat! Anda baru saja menyelesaikan alur kerja Tindakan pertama Anda di GitHub Enterprise Server, yang berjalan di cloud privat Azure VMware Solution.

Dalam artikel ini, kami menyiapkan instans baru GitHub Enterprise Server, yang setara dengan GitHub.com yang dihosting sendiri, di atas cloud privat Azure VMware Solution Anda. Instans ini mencakup dukungan untuk GitHub Actions dan menggunakan Azure Blob Storage untuk penyimpanan log dan artefak. Tapi, kami hanya mencoba menemukan apa yang dapat Anda lakukan dengan GitHub Actions. Lihat daftar Tindakan di GitHub's Marketplace, atau buat sendiri.

Langkah berikutnya

Sekarang setelah Anda membahas pengaturan GitHub Enterprise Server di cloud privat Azure VMware Solution Anda, pelajari selengkapnya tentang: