Perkenalan
Bayangkan Anda bekerja sebagai insinyur perangkat lunak untuk pengecer pakaian luar ruangan online. Anda bertanggung jawab untuk mengelola dan memperbarui etalase online pengecer, aplikasi .NET yang berbasis layanan mikro dan cloud-native.
Untuk memenuhi persyaratan proyek dan meningkatkan praktik pengembangan lincah tim Anda, Anda memutuskan untuk membandingkan integrasi berkelanjutan dan penyebaran berkelanjutan (CI/CD) melalui GitHub Actions dan Azure Pipelines. Alur CI/CD menggunakan serangkaian langkah otomatis untuk mengompilasi dan menyebarkan aplikasi dari build melalui semua lingkungan.
Karena web saat ini memiliki arsitektur layanan mikro, dan setiap layanan mikro disebarkan secara independen, Anda mulai dengan menyiapkan CI/CD untuk satu layanan.
API web .NET, bernama layanan produk , mendukung semua fitur katalog backend situs web. Dalam modul ini, Anda akan menerapkan alur CI/CD untuk layanan produk.
Modul ini memandu Anda melalui langkah-langkah berikut:
- Mengautentikasi GitHub Actions pada registri kontainer.
- Simpan informasi sensitif yang digunakan GitHub Actions dengan aman.
- Terapkan tindakan untuk membangun gambar kontainer untuk layanan mikro.
- Ubah dan terapkan kode layanan mikro untuk memicu build.
- Terapkan tindakan untuk menyebarkan kontainer yang diperbarui ke kluster Azure Kubernetes Service (AKS).
- Ubah dan terapkan bagan Helm untuk memicu penyebaran.
- Kembalikan layanan mikro ke penerapan sebelumnya.
Anda menggunakan langganan Azure Anda sendiri untuk menyebarkan sumber daya dalam modul ini. Jika Anda tidak memiliki langganan Azure, buat akun gratis sebelum Memulai.
Penting
Untuk menghindari biaya yang tidak perlu di langganan Azure Anda, pastikan untuk menghapus sumber daya Azure anda setelah selesai dengan modul ini.
Prasyarat
- Pengetahuan konseptual tentang praktik DevOps.
- Pengetahuan konseptual tentang kontainer, Docker, dan AKS.
- Akses ke langganan Azure dengan izin Pemilik.
- Akses ke akun GitHub.
- Kemampuan untuk menjalankan kontainer pengembangan di Visual Studio Code atau GitHub Codespaces, disiapkan seperti yang dijelaskan di bagian berikut.
Kontainer pengembangan
Modul ini mencakup file konfigurasi yang menentukan kontainer pengembangan , atau kontainer pengembangan . Menggunakan kontainer dev memastikan lingkungan standar yang telah dikonfigurasi sebelumnya dengan alat yang diperlukan.
Kontainer dev dapat berjalan di salah satu dari dua lingkungan. Sebelum memulai, ikuti langkah-langkah di salah satu tautan berikut untuk menyiapkan lingkungan Anda, termasuk menginstal Docker dan ekstensi Visual Studio Code yang diperlukan.
- Visual Studio Code dan lingkungan Docker yang didukung pada mesin lokal Anda.
- GitHub Codespaces (biaya mungkin berlaku).