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 menjelaskan cara mengonfigurasi penyebaran berkelanjutan (CD) ke Azure App Service dengan menarik pembaruan dari GitHub, Bitbucket, Azure Repos, atau repositori lainnya.
Prasyarat
Menulis izin pada aplikasi Azure App Service di repositori kontrol sumber.
Siapkan repositori Anda
Untuk mendapatkan build otomatis dari build server App Service, pastikan akar repositori Anda memiliki berkas yang sesuai dalam proyek Anda.
| Waktu Operasi | File-file dalam direktori akar |
|---|---|
| ASP.NET (khusus Windows) |
*.sln, *.csproj, atau default.aspx. |
| ASP.NET Core |
*.sln atau *.csproj. |
| PHP |
index.php. |
| Ruby (khusus Linux) |
Gemfile. |
| Node.js |
server.js, app.js, atau package.json dengan skrip awal. |
| Phyton |
*.py, requirements.txt, atau runtime.txt. |
| HTML |
default.htm, , default.htmldefault.asp, index.htm, index.html, , atau iisstart.htm. |
| WebJobs |
<job_name>/run.<extension> di bawah App_Data/jobs/continuous untuk Pekerjaan Web kontinu, atau App_Data/jobs/triggered untuk Pekerjaan Web terpicu. Untuk informasi selengkapnya, lihat Dokumentasi Kudu WebJobs. |
| Fungsi | Lihat Penyebaran berkelanjutan untuk Azure Functions. |
Untuk menyesuaikan penyebaran Anda, sertakan .deployment file di akar repositori. Untuk informasi selengkapnya, lihat Mengkustomisasi penyebaran dan Skrip penyebaran kustom.
Petunjuk / Saran
Visual Studio dapat membuat repositori untuk Anda. Dengan metode ini, proyek Anda segera siap untuk penyebaran melalui Git.
Aktifkan penyebaran berkelanjutan
Di portal Microsoft Azure, buka halaman untuk aplikasi App Service Anda dan pilih Pusat Penyebaran dari menu navigasi kiri.
Pada tab Pengaturan di bawah Sumber, pilih jenis repositori kontrol sumber Anda.
Ikuti instruksi untuk jenis sumber Anda untuk mengonfigurasi penyebaran.
Semua sumber yang tercantum dapat dibuat dengan App Service Build Service. Beberapa sumber juga dapat dibuat dengan GitHub Actions atau Azure Pipelines. Untuk informasi selengkapnya, lihat Penyedia pembangunan.
GitHub Actions adalah penyedia build GitHub default. Untuk mengubah penyedia, pilih Ubah penyedia, pilih App Service Build Service atau Azure Pipelines, lalu pilih OK.
Jika perlu, pilih Otorisasi dan ikuti perintah otorisasi untuk GitHub. Untuk menyebarkan dari repositori pengguna lain, pilih Ubah Akun.
Pilih Organisasi, Repositori, dan Cabang GitHub yang sesuai.
Jika Anda tidak dapat menemukan organisasi atau repositori, Anda mungkin perlu mengaktifkan lebih banyak izin di GitHub. Untuk informasi selengkapnya, lihat Mengelola akses ke repositori organisasi Anda.
Di bawah Jenis autentikasi, pilih Identitas yang ditetapkan pengguna untuk keamanan yang lebih baik.
Jika akun Azure Anda memiliki izin yang diperlukan, App Service membuat identitas terkelola yang ditetapkan pengguna untuk Anda, atau Anda dapat memilih identitas terkelola yang sudah ada. Jika Anda tidak memiliki izin yang diperlukan, bekerja samalah dengan administrator Azure Anda untuk membuat identitas dengan peran yang diperlukan di aplikasi Anda, lalu pilih di menu dropdown.
App Service memilih templat alur kerja berdasarkan pengaturan tumpukan bahasa aplikasi Anda dan menerapkannya ke repositori GitHub yang Anda pilih. Anda dapat memilih File pratinjau secara opsional untuk melihat file alur kerja sebelum menyimpan perubahan Anda.
Pilih Simpan.
Komitmen baru di repositori dan cabang yang dipilih sekarang diterapkan terus menerus ke aplikasi App Service Anda. Anda dapat melacak penerapan dan penyebaran pada tab Log.
Nonaktifkan penyebaran berkelanjutan
Untuk menonaktifkan penyebaran berkelanjutan untuk sumber yang terhubung:
Di portal Microsoft Azure, buka halaman untuk aplikasi App Service Anda dan pilih Pusat Penyebaran dari menu navigasi kiri.
Pada tab Pengaturan , pilih Putuskan sambungan.
Pilih OK.
Untuk GitHub, file alur kerja tetap berada di repositori secara default, tetapi Anda tidak lagi melihat kemajuan terintegrasi pada tab Logpusat penyebaran.
Apa saja penyedia untuk proses build?
Penyedia build membantu Anda membangun solusi integrasi berkelanjutan dan pengiriman berkelanjutan (CI/CD) dengan Azure App Service dengan mengotomatiskan build, pengujian, dan penyebaran. Beberapa sumber implementasi menawarkan beragam opsi penyedia pembangun. Semua sumber yang tercantum dapat dibuat dengan App Service Build Service.
Anda tidak terbatas pada opsi penyedia build yang tercantum, tetapi App Service membantu Anda dengan cepat menyiapkan opsi yang tercantum dan mulai mendapatkan pengelogan penyebaran yang terintegrasi.
Tindakan GitHub
Penyedia build GitHub Actions hanya tersedia untuk sumber GitHub dan merupakan default untuk penyebaran GitHub. Penyedia build menyiapkan CI/CD dengan menyetorkan file alur kerja GitHub Actions ke repositori GitHub Anda yang menangani tugas build dan penyebaran App Service.
Untuk autentikasi dasar, penyedia build GitHub Actions menambahkan profil publikasi untuk aplikasi Anda sebagai rahasia GitHub. File alur kerja menggunakan rahasia ini untuk mengautentikasi dengan App Service.
Untuk identitas yang ditetapkan pengguna, App Service memungkinkan autentikasi Microsoft OpenID Connect yang direkomendasikan dan mengonfigurasi sumber daya yang diperlukan di Azure dan GitHub. Untuk informasi selengkapnya, lihat Apa yang dilakukan opsi identitas yang ditetapkan pengguna untuk GitHub Actions?
Penyedia build GitHub Actions mengambil informasi dari log eksekusi alur kerja dan menampilkannya di tab Log di Pusat Penyebaran aplikasi.
Anda dapat menyesuaikan penyedia build GitHub Actions dengan beberapa cara:
- Sesuaikan file alur kerja setelah dihasilkan di repositori GitHub Anda. Untuk informasi selengkapnya, lihat Sintaks alur kerja untuk Tindakan GitHub. Sebarkan alur kerja yang dikustomisasi ke App Service dengan
azure/webapps-deploytindakan . - Jika cabang yang dipilih dilindungi, pratinjau file alur kerja tanpa menyimpan konfigurasi. Sesuaikan file, lalu tambahkan secara manual ke repositori Anda. Metode ini tidak memberi Anda integrasi log dengan portal Microsoft Azure.
- Sebarkan dengan menggunakan ID Microsoft Entra perwakilan layanan alih-alih autentikasi dasar atau identitas yang ditetapkan pengguna. Anda tidak dapat mengonfigurasi metode ini di portal.
Layanan pengembangan App Service
Layanan build App Service adalah mesin penyebaran dan build asli untuk App Service. Saat Anda memilih opsi ini, App Service menambahkan webhook ke dalam repositori yang Anda otorisasi. Setiap dorongan kode ke repositori memicu webhook, dan App Service menarik perubahan serta melaksanakan tugas-tugas penyebaran. Untuk informasi selengkapnya, lihat Menyebarkan dari GitHub (Kudu).
Layanan build App Service memerlukan autentikasi dasar Source Control Manager (SCM) agar webhook berfungsi. Autentikasi dasar kurang aman daripada metode autentikasi lainnya. Untuk informasi selengkapnya, lihat:
- Proyek Kudu
- Menyelidiki masalah umum dalam penyebaran berkelanjutan
- Menyebarkan tanpa autentikasi dasar
Azure Pipelines (Alat otomatisasi alur kerja pengembangan perangkat lunak dari Microsoft)
Azure Pipelines adalah komponen build Azure DevOps. Anda dapat mengonfigurasi alur untuk membangun, menguji, dan menyebarkan aplikasi Anda ke App Service dari repositori sumber yang didukung.
Untuk menggunakan Azure Pipelines sebagai penyedia build, pilih opsi Azure Pipelines di Pusat Penyebaran App Service, lalu langsung buka Azure DevOps untuk mengonfigurasi alur. Untuk informasi selengkapnya, lihat Menyebarkan ke App Service menggunakan Azure Pipelines.
Tanya jawab umum
- Bagaimana cara kerja penyedia build GitHub Actions jika autentikasi dasar dinonaktifkan?
- Apa yang terjadi pada aplikasi saya selama penyebaran yang dapat menyebabkan kegagalan atau perilaku yang tidak dapat diprediksi?
- Apa fungsi opsi identitas yang ditetapkan pengguna dalam GitHub Actions?
- Mengapa saya melihat kesalahan "Anda tidak memiliki izin yang memadai pada aplikasi ini untuk menetapkan akses berbasis peran ke identitas terkelola dan mengonfigurasi kredensial federasi"?
- Mengapa saya melihat pesan kesalahan "Identitas ini tidak memiliki izin tulis pada aplikasi ini. Silakan pilih identitas yang berbeda, atau bekerja dengan admin Anda untuk memberikan peran Kontributor Situs Web ke identitas Anda di aplikasi ini"?
Bagaimana cara kerja penyedia build GitHub Actions jika autentikasi dasar dinonaktifkan?
Penyedia build GitHub Actions tidak berfungsi dengan autentikasi dasar jika autentikasi dasar dinonaktifkan. Coba gunakan GitHub Actions dengan opsi identitas yang ditetapkan pengguna sebagai gantinya. Untuk informasi selengkapnya, lihat Menyebarkan tanpa autentikasi dasar.
Apa yang terjadi pada aplikasi saya selama penyebaran yang dapat menyebabkan kegagalan atau perilaku yang tidak dapat diprediksi?
Metode penyebaran yang didukung secara resmi membuat perubahan pada file di folder /home/site/wwwroot yang digunakan untuk menjalankan aplikasi Anda. Pengoperasian dapat gagal karena file yang terkunci. Aplikasi ini mungkin juga bertingkah tidak terduga selama proses peluncuran jika file tidak diperbarui secara bersamaan, yang tidak diinginkan untuk aplikasi yang digunakan oleh pelanggan.
Ada beberapa cara untuk menghindari masalah ini.
- Jalankan aplikasi Anda langsung dari paket ZIP tanpa membuka kemasannya.
- Hentikan aplikasi Anda atau aktifkan mode offline selama penyebaran. Untuk informasi selengkapnya, lihat Menangani file terkunci selama penyebaran.
- Sebarkan ke slot percobaan dengan penggantian otomatis diaktifkan.
Apa fungsi opsi identitas pengguna yang ditetapkan untuk GitHub Actions?
Saat Anda memilih Identitas yang ditetapkan pengguna untuk sumber GitHub , App Service mengonfigurasi semua sumber daya yang diperlukan di Azure dan GitHub. App Service memungkinkan autentikasi Microsoft OpenID Connect yang direkomendasikan dengan GitHub Actions.
Secara khusus, App Service melakukan operasi berikut:
- Membuat kredensial federasi antara identitas terkelola yang ditetapkan pengguna di Azure dan repositori dan cabang yang Anda pilih di GitHub.
- Membuat rahasia
AZURE_CLIENT_ID,AZURE_TENANT_ID, danAZURE_SUBSCRIPTION_IDdari kredensial federasi di repositori GitHub yang Anda pilih. - Menetapkan identitas ke aplikasi Anda.
Anda kemudian dapat menggunakan Azure/login tindakan dalam alur kerja GitHub Actions di repositori GitHub Anda untuk mengautentikasi dengan aplikasi Anda dengan menggunakan OpenID Connect. Misalnya, lihat Menambahkan file alur kerja ke repositori GitHub Anda.
Jika akun Azure Anda memiliki izin yang diperlukan, App Service membuat identitas terkelola yang ditetapkan pengguna dan mengonfigurasinya untuk Anda. Identitas ini tidak ditampilkan di halaman Identitas aplikasi Anda. Jika akun Azure Anda tidak memiliki izin yang diperlukan, Anda harus memilih identitas yang sudah ada dengan peran yang sesuai.
Mengapa saya melihat kesalahan "Anda tidak memiliki izin yang memadai pada aplikasi ini untuk menetapkan akses berbasis peran ke identitas terkelola dan mengonfigurasi kredensial federasi"?
Pesan menunjukkan bahwa akun Azure Anda tidak memiliki izin yang diperlukan untuk membuat identitas terkelola yang ditetapkan pengguna untuk GitHub Actions. Anda membutuhkan izin berikut, yang berlaku khusus untuk aplikasi Anda:
Microsoft.Authorization/roleAssignments/writeMicrosoft.ManagedIdentity/userAssignedIdentities/write
Secara default, peran Administrator Akses Pengguna Azure dan Pemilik memiliki izin ini, tetapi peran Kontributor tidak. Jika Anda tidak memiliki izin yang diperlukan, bekerja samalah dengan administrator Azure Anda untuk membuat identitas terkelola yang ditetapkan pengguna yang memiliki peran Kontributor Situs Web . Anda kemudian dapat memilih identitas tersebut di daftar dropdown Identitas untuk sumber GitHub di Pusat Penyebaran App Service.
Untuk informasi selengkapnya tentang menggunakan langkah-langkah alternatif, lihat Menyebarkan ke App Service menggunakan GitHub Actions.
Mengapa saya melihat pesan kesalahan "Identitas ini tidak memiliki izin tulis pada aplikasi ini. Silakan pilih identitas yang berbeda, atau bekerja dengan admin Anda untuk memberikan peran Kontributor Situs Web ke identitas Anda di aplikasi ini"?
Pesan menunjukkan bahwa identitas terkelola yang ditetapkan oleh pengguna yang dipilih tidak memiliki peran yang diperlukan untuk [mengaktifkan OpenID Connect](#what-does-the-user-assigned-identity-option-do-for-github-actions) antara repositori GitHub dan aplikasi App Service. Identitas harus memiliki peran Pemilik, Kontributor, atau Kontributor Situs Web di aplikasi. Peran dengan hak paling sedikit yang dibutuhkan identitas adalah Kontributor Situs Web.