Menyebarkan dan menguji GitHub Actions yang berkeandalan tinggi di Azure Kubernetes Service (AKS)

Dalam artikel ini, Anda mempelajari cara menyebarkan dan menguji GitHub Actions yang sangat tersedia dengan Azure Files di Azure Kubernetes Service (AKS).

Contoh alur kerja GitHub Actions

Repositori memiliki tiga sampel beban kerja di folder alur kerja GitHub default bagi Anda untuk menguji runner ARC yang dihost sendiri:

  • dotnet-using-container.yml: .NET Build menggunakan kontainer menginstal .NET SDK dan memulihkan/membangun/menerbitkan aplikasi pada runner itu sendiri.
  • dotnet-without-container.yml: .NET Build tanpa kontainer menggunakan fitur kontainer alur kerja untuk menjalankan kontainer .NET SDK dan membangun di dalam aplikasi di dalam kontainer. Penyimpanan cache NuGet diatur secara default di kontainer ini.
  • container-service-test.yml: Alur kerja pengujian Kontainer dan Pengujian Layanan juga menggunakan fitur kontainer untuk membuat kontainer Ubuntu dan layanan Redis. Kedua kontainer dijalankan pada Pod AKS yang sama. Penembolokan NuGet juga dipasang secara default pada kontainer ini.

Ketiga alur kerja memiliki parameter input untuk nama runner ARC yang akan digunakan di bidang runs-on: alur kerja Anda. Ini adalah variabel yang ARC_RUNNER_SCALESET_NAME="arc-runner-set" kami tentukan sebelumnya. Untuk memfasilitasi pengujian, kami menggunakan workflow_dispatch: opsi pada tiga alur kerja untuk hanya menjalankan alur kerja tersebut saat diminta secara manual. Pada tab Tindakan GitHub di repositori Anda, pilih salah satu alur kerja dan jalankan beban kerja.

Setelah alur kerja berjalan, ia meminta runner untuk ARC yang berjalan pada kluster AKS. Setelah runner ini, sebuah pod di Kubernetes, dialokasikan untuk tugas, alur kerja dijalankan di sana hingga selesai. Kami menggunakan pendekatan "ephemeral runner," yang berarti pod yang menjalankan alur kerja akan dihancurkan di akhir proses dan pod baru dibuat untuk menjalankan alur kerja berikutnya.

Hapus sumber daya

Setelah siap, Anda dapat menghapus semua sumber daya yang dibuat dalam panduan ini menggunakan perintah berikut:

# Delete ARC runners scale sets 

helm delete "${ARC_RUNNER_SCALESET_NAME}" -n "${NAMESPACE_ARC_RUNNERS}" --wait 

# Delete ARC runners scale set controller 

helm delete "${ARC_CONTROLLER_NAME}" -n "${NAMESPACE_ARC_CONTROLLER}" --wait 

# Delete Azure File share configurations 

kubectl delete -f ./install/arc-runners-set-pv-pvc.yaml --wait 
kubectl delete -f ./install/arc-runners-storage-class-files.yaml --wait 

# Delete secrets 

kubectl delete secret azure-storage-secret -n arc-runners --wait 
kubectl delete secret ${ARC_RUNNER_GITHUB_SECRET_NAME} -n arc-runners --wait 

# Delete container runner configmap pod spec 

kubectl delete -f ./install/arc-runners-set-container-pod-spec.yaml --wait 

# Delete namespaces 

kubectl delete namespace ${NAMESPACE_ARC_RUNNERS} 
kubectl delete namespace ${NAMESPACE_ARC_CONTROLLER} 

Langkah selanjutnya

Untuk mempelajari selengkapnya tentang menyebarkan perangkat lunak sumber terbuka di Azure Kubernetes Service (AKS), lihat artikel berikut:

Kontributor

Microsoft mempertahankan artikel ini. Kontributor berikut awalnya menulisnya:

  • Jorge Arterio | Advokat Cloud Senior
  • Jeff Patterson | Manajer Produk Utama
  • Rena Shah | Manajer Produk Senior
  • Shekhar Singh Sorot | Manajer Produk 2
  • Erin Schaffer | Pengembang Konten 2