Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Artikel ini memperlihatkan cara menggunakan Azure Pipelines untuk membuat alur yang membangun dan menyebarkan aplikasi Node.js ke Azure App Service dengan integrasi berkelanjutan (CI) dan penyebaran berkelanjutan (CD). CI/CD mengurangi waktu henti dan risiko kesalahan dengan secara otomatis membangun dan menyebarkan aplikasi Anda setiap kali ada penerapan ke repositori kode aplikasi Anda.
Prasyarat
| Hasil | Persyaratan |
|---|---|
| Azure DevOps | - Proyek Azure DevOps. - Kemampuan untuk menjalankan pipeline pada agen yang di-host oleh Microsoft. Anda dapat membeli pekerjaan paralel atau Anda dapat meminta lapisan gratis. - Pengetahuan dasar tentang YAML dan Azure Pipelines. Untuk informasi selengkapnya, lihat Membuat alur pertama Anda. - Izin: - Untuk membuat alur: Anda harus berada di grup Kontributor dan grup harus mengatur izin Buat alur build ke Izinkan. Anggota grup Administrator Proyek dapat mengelola alur. - Untuk membuat koneksi layanan: Anda harus memiliki peran Administrator atau Pembuat untuk koneksi layanan. |
| GitHub | - Akun GitHub . - Koneksi layanan GitHub untuk mengotorisasi Azure Pipelines. |
| Azure | Langganan Azure. |
| Hasil | Persyaratan |
|---|---|
| Azure DevOps | - Proyek Azure DevOps. - Agen mandiri. Untuk membuatnya, lihat Agen yang dihost sendiri. - Pengetahuan dasar tentang YAML dan Azure Pipelines. Untuk informasi selengkapnya, lihat Membuat alur pertama Anda. - Izin: - Untuk membuat alur: Anda harus berada di grup Kontributor dan grup harus mengatur izin Buat alur build ke Izinkan. Anggota grup Administrator Proyek dapat mengelola alur. - Untuk membuat koneksi layanan: Anda harus memiliki peran Administrator atau Pembuat untuk koneksi layanan. |
| GitHub | - Akun GitHub . - Koneksi layanan GitHub untuk mengotorisasi Azure Pipelines. |
| Azure | Langganan Azure. |
Catatan
Prosedur yang menggunakan GitHub mungkin memerlukan autentikasi, otorisasi, atau masuk ke organisasi GitHub atau repositori tertentu. Ikuti instruksi untuk menyelesaikan proses yang diperlukan. Untuk informasi selengkapnya, lihat Akses ke repositori GitHub.
Buat salinan terpisah dari aplikasi contoh
Di GitHub, buka repositori Node.js Hello World dan pilih Fork di menu atas.
Pilih organisasi GitHub Anda sebagai fork Pemilik jika belum dipilih, lalu pilih Buat fork.
Browser masuk ke fork baru Anda di URL https://github.com/<owner>/nodejs-docs-hello-world.
Membuat dan menyebarkan aplikasi web App Service
Buat aplikasi web Azure App Service Anda dengan menggunakan Cloud Shell di portal Microsoft Azure. Untuk menggunakan Cloud Shell, masuk ke portal Microsoft Azure dan pilih tombol Cloud Shell di toolbar atas.
Cloud Shell muncul di bagian bawah browser. Pastikan Bash dipilih sebagai lingkungan di menu dropdown.
Petunjuk / Saran
Untuk menempelkan ke Cloud Shell, gunakan Ctrl+Shift+V atau klik kanan dan pilih Tempel dari menu konteks.
Membuat dan menyebarkan aplikasi web
Di Cloud Shell, klon repositori fork Anda ke Azure dengan perintah berikut, mengganti
<your-forked-repository-url>dengan URL repositori fork Anda.git clone <your-forked-repository-url>Ubah direktori ke folder repositori kloning.
cd nodejs-docs-hello-worldJalankan perintah az webapp up untuk menyediakan aplikasi web App Service dan lakukan penyebaran pertama. Argumen
--sku F1membuat aplikasi web pada tingkat harga Gratis, yang tidak dikenakan biaya.Menjalankan
az webapp uptanpa parameternamesecara otomatis menetapkan nama aplikasi web yang dihasilkan secara acak yang unik di Azure. Anda juga dapat menggunakan--name <web-app-name>parameter untuk menetapkan nama apa pun yang unik di Azure, seperti nama pribadi atau perusahaan dengan pengidentifikasi aplikasi, seperti--name <your-name>-nodeapp.az webapp up --sku F1 --name <app-name>
Perintah mengenali az webapp up aplikasi sebagai aplikasi Node.js, dan mengambil tindakan berikut:
- Membuat grup sumber daya default.
- Membuat paket App Service default.
-
Membuat aplikasi web dengan nama yang ditetapkan dan URL
<your-web-app-name>.azurewebsites.net. - ZIP menyebarkan semua file dari direktori kerja saat ini, dengan otomatisasi build diaktifkan.
- Cache parameter secara lokal dalam file .azure/config sehingga Anda tidak perlu menentukannya lagi saat menyebarkan dari folder proyek dengan
az webapp upatau perintah lainnyaaz webapp.
Anda dapat mengambil alih tindakan default dengan nilai Anda sendiri dengan menggunakan parameter perintah. Untuk informasi selengkapnya, lihat az webapp up.
Perintah menghasilkan pesan status saat berjalan. Setelah situs web berhasil dimulai, Anda dapat memilih tautan di You can launch the app at https://<your-web-app-name>.azurewebsites.net untuk membuka aplikasi web Hello World .
Perintah az webapp up menghasilkan output JSON berikut untuk contoh aplikasi web:
{
"URL": "<your-web-app-url>",
"appserviceplan": "<your-app-service-plan-name>",
"location": "<your-azure-region>",
"name": "<your-web-app-name>",
"os": "Linux",
"resourcegroup": "<your-resource-group-name>",
"runtime_version": "node|20-LTS",
"runtime_version_detected": "10.0",
"sku": "FREE",
"src_path": "<repository-source-path>"
}
Membuat alur dari templat
Di proyek Azure DevOps Anda, pilih Alur dari menu navigasi kiri, lalu pilih Alur baru atau Buat alur jika alur ini adalah yang pertama dalam proyek.
Pada layar Di mana kode Anda , pilih GitHub.
Pada layar Pilih repositori , pilih repositori nodejs-docs-hello-world fork Anda.
Azure Pipelines mengenali kode sebagai aplikasi Node.js, dan menyarankan beberapa templat alur di halaman Konfigurasikan alur Anda . Pilih Node.js Express Web App ke Linux di Azure.
Pada layar berikutnya, pilih langganan Azure Anda dan pilih Lanjutkan. Tindakan ini membuat koneksi layanan ke sumber daya Azure Anda.
Pada layar berikutnya, pilih aplikasi web Azure Anda dan pilih Validasi dan konfigurasikan. Azure Pipelines membuat file azure-pipelines.yml dan menampilkannya di editor alur YAML.
Pada layar Tinjau YAML alur Anda , tinjau kode untuk alur Anda.
Pipa saluran melakukan tindakan berikut:
- Mengatur pemicu untuk dijalankan pada setiap commit ke cabang kode utama.
- Menetapkan dan menggunakan variabel untuk koneksi layanan, aplikasi web, gambar mesin, dan lingkungan.
- Menginstal Node.js pada agen build dan menggunakan npm untuk menjalankan dan menguji build aplikasi.
- Mengemas aplikasi yang sudah dibangun ke dalam arsip ZIP dan mengunggah ZIP ke lokasi penyimpanan.
- Menyebarkan paket ZIP ke aplikasi App Service dan memulai aplikasi.
Simpan dan jalankan pipeline
Setelah Anda meninjau kode, pilih Simpan dan jalankan dan Simpan dan jalankan lagi untuk menyimpan dan menjalankan alur Anda. File azure-pipelines.yml disimpan ke repositori fork Anda, dan kode disebarkan ke Azure App Service.
Catatan
Pada saat pertama kali pipeline dijalankan, pipeline meminta izin untuk mengakses lingkungan yang dibuatnya. Pilih Izin untuk memberikan izin bagi alur untuk mengakses lingkungan.
Pada halaman Ringkasan eksekusi, pilih tugas untuk menonton pipeline Anda berjalan dan lacak build-nya.
Saat eksekusi berhasil, pilih tugas Penyebaran Azure Web App , dan pilih URL Aplikasi App Service untuk melihat situs web yang disebarkan.
Verifikasi bahwa Anda melihat situs yang berjalan di App Service di URL situs web yang disebarkan.
Menjalankan proses build dan penyebaran CI
Kata trigger: main kunci mengonfigurasikan pipeline Anda sehingga dieksekusi setiap kali perubahan dilakukan pada main cabang dari repositori kode yang di-fork. Untuk menjalankan build CI:
- Buka repositori GitHub fork Anda dan buat perubahan kecil dalam file README.md .
- Pilih Terapkan perubahan, dan Terapkan perubahan lagi.
- Di Azure Pipelines, verifikasi bahwa alur nodejs-docs-hello-world Anda berjalan lagi dengan deskripsi Individual CI.
Membersihkan sumber daya
Anda dapat menghapus sumber daya yang Anda buat untuk artikel ini jika Anda tidak membutuhkannya lagi.
Untuk menghapus sumber daya Azure App Service, jalankan perintah berikut secara berurutan di Cloud Shell. Anda harus menghapus aplikasi web sebelum dapat menghapus paket layanan aplikasinya, dan Anda harus menghapus paket layanan aplikasi sebelum dapat menghapus grup sumber dayanya.
az webapp delete --name <web-app-name> --resource-group <resource-group-name> az appservice plan delete --name <app-service-plan-name> --resource-group <resource-group-name> az group delete --name <resource-group-name>Untuk menghapus alur Anda di Azure Pipelines, pilih alur, pilih ikon Tindakan lainnya di kanan atas pada halaman alur, lalu pilih Hapus. Untuk menghapus proyek Azure DevOps Anda, lihat Menghapus proyek.
Untuk menghapus repositori GitHub nodejs-docs-hello-world fork Anda, buka repositori dan pilih Pengaturan di bilah menu atas. Gulir ke bagian bawah halaman, dan pilih Hapus repositori ini.