Penyebaran ke Azure VM dengan menggunakan grup penyebaran di Alur Azure
Layanan Azure DevOps | Azure DevOps Server 2022 - Azure DevOps Server 2019
Dalam versi Azure Pipelines sebelumnya, aplikasi yang perlu disebarkan ke beberapa server memerlukan sejumlah besar perencanaan dan pemeliharaan. Jarak jauh Windows PowerShell harus diaktifkan secara manual, port yang diperlukan dibuka, dan agen penyebaran diinstal pada setiap server. Alur kemudian harus dikelola secara manual jika penyebaran peluncuran diperlukan.
Semua tantangan di atas telah berevolusi dengan mulus dengan pengenalan Grup Penyebaran.
Grup penyebaran menginstal agen penyebaran pada setiap server target dalam grup yang dikonfigurasi dan menginstruksikan alur rilis untuk menyebarkan aplikasi secara bertahap ke server tersebut. Beberapa alur dapat dibuat untuk penyebaran peluncuran sehingga versi terbaru aplikasi dapat dikirimkan secara bertahap ke beberapa grup pengguna untuk validasi fitur yang baru diperkenalkan.
Catatan
Grup penyebaran adalah konsep yang digunakan dalam alur Klasik. Jika Anda menggunakan alur YAML, lihat Lingkungan.
Dalam tutorial ini, Anda mempelajari tentang:
- Menyediakan infrastruktur VM ke Azure menggunakan templat
- Membuat grup penyebaran Azure Pipelines
- Membuat dan menjalankan alur CI/CD untuk menyebarkan solusi dengan grup penyebaran
Prasyarat
- Akun Microsoft Azure.
- Organisasi Azure DevOps.
Gunakan Generator Demo Azure DevOps untuk menyediakan proyek tutorial di organisasi Azure DevOps Anda.
Menyiapkan lingkungan penyebaran Azure
Sumber daya berikut disediakan di Azure menggunakan templat ARM:
- Enam server web Virtual Machines (VM) dengan IIS dikonfigurasi
- SQL server VM (server DB)
- Azure Network Load Balancer
Klik tautan Sebarkan ke Azure di bawah ini untuk memulai provisi sumber daya. Berikan semua informasi yang diperlukan dan pilih Beli. Anda dapat menggunakan kombinasi nama pengguna dan kata sandi administratif yang diizinkan karena tidak digunakan lagi dalam tutorial ini. Nama Awalan Env diawali dengan semua nama sumber daya untuk memastikan bahwa sumber daya tersebut dihasilkan dengan nama unik global. Cobalah untuk menggunakan sesuatu yang pribadi atau acak, tetapi jika Anda melihat kesalahan konflik penamaan selama validasi atau pembuatan, coba ubah parameter ini dan jalankan lagi.
Catatan
Dibutuhkan sekitar 10-15 menit untuk menyelesaikan penyebaran. Jika Anda menerima kesalahan konflik penamaan, coba ubah parameter yang Anda berikan untuk Nama Awalan Env.
Setelah penyebaran selesai, Anda dapat meninjau semua sumber daya yang dihasilkan dalam grup sumber daya yang ditentukan menggunakan portal Azure. Pilih VM server DB dengan sqlSrv dalam namanya untuk melihat detailnya.
Catat nama DNS. Nilai ini diperlukan di langkah selanjutnya. Anda dapat menggunakan tombol salin untuk menyalinnya ke clipboard.
Membuat dan mengonfigurasi grup penyebaran
Azure Pipelines memudahkan untuk mengatur server yang diperlukan untuk menyebarkan aplikasi. Grup penyebaran adalah kumpulan komputer dengan agen penyebaran. Masing-masing komputer berinteraksi dengan Azure Pipelines untuk mengoordinasikan penyebaran aplikasi.
Karena tidak ada perubahan konfigurasi yang diperlukan untuk alur build, build dipicu secara otomatis setelah proyek disediakan. Saat Anda mengantre rilis nanti, build ini digunakan.
Navigasikan ke proyek Azure DevOps yang dibuat oleh generator demo.
Dari bawah Alur, navigasikan ke Grup penyebaran.
Pilih Tambahkan grup penyebaran.
Masukkan Nama grup penyebaran Rilis dan pilih Buat. Skrip pendaftaran dibuat. Anda dapat mendaftarkan server target menggunakan skrip yang disediakan jika bekerja sendiri. Namun, dalam tutorial ini, server target secara otomatis terdaftar sebagai bagian dari alur rilis. Definisi rilis menggunakan tahapan untuk menyebarkan aplikasi ke server target. Tahap adalah pengelompokan logis tugas yang menentukan target runtime tempat tugas akan dijalankan. Setiap tahap grup penyebaran menjalankan tugas pada komputer yang ditentukan dalam grup penyebaran.
Dari bawah Alur, navigasikan ke Rilis. Pilih alur rilis bernama Grup Penyebaran dan pilih Edit.
Pilih tab Tugas untuk melihat tugas penyebaran dalam alur. Tugas diatur sebagai tiga tahap yang disebut fase Agen, fase Grup penyebaran, dan fase Penyebaran IIS.
Pilih fase Agen. Pada tahap ini, server target dikaitkan dengan grup penyebaran menggunakan tugas Penyebaran Grup Sumber Daya Azure. Untuk menjalankan, kumpulan agen dan spesifikasi harus ditentukan. Pilih kumpulan Alur Azure dan spesifikasi terbaru windows.
Pilih tugas Penyebaran Grup Sumber Daya Azure. Konfigurasikan koneksi layanan ke langganan Azure yang digunakan sebelumnya untuk membuat infrastruktur. Setelah mengotorisasi koneksi, pilih grup sumber daya yang dibuat untuk tutorial ini.
Tugas ini akan berjalan pada komputer virtual yang dihosting di Azure, dan harus dapat terhubung kembali ke alur ini untuk menyelesaikan persyaratan grup penyebaran. Untuk mengamankan koneksi, mereka akan memerlukan token akses pribadi (PAT). Dari menu dropdown Pengaturan pengguna, buka Token akses pribadi di tab baru. Sebagian besar browser mendukung pembukaan tautan di tab baru melalui menu konteks klik kanan atau Ctrl+Klik.
Di tab baru, pilih Token Baru.
Masukkan nama dan pilih Cakupan akses penuh. Pilih Buat untuk membuat token. Setelah dibuat, salin token dan tutup tab browser. Anda kembali ke editor Azure Pipeline.
Di bawah Koneksi layanan Azure Pipelines, pilih Baru.
Masukkan URL Koneksi ion ke instans Azure DevOps saat ini. URL ini seperti
https://dev.azure.com/[Your account]
. Tempelkan token akses pribadi yang dibuat sebelumnya dan tentukan nama koneksi Layanan. Pilih Verifikasi dan simpan.Catatan
Untuk mendaftarkan agen, Anda harus menjadi anggota peran Administrator di kumpulan agen. Identitas administrator kumpulan agen hanya diperlukan pada saat pendaftaran. Identitas administrator tidak bertahan pada agen, dan tidak digunakan dalam komunikasi berikutnya antara agen dan Azure Pipelines. Setelah agen terdaftar, tidak perlu memperbarui token akses pribadi karena hanya diperlukan pada saat pendaftaran.
Pilih proyek Tim saat ini dan grup Penyebaran yang dibuat sebelumnya.
Pilih tahap fase Grup penyebaran. Tahap ini menjalankan tugas pada komputer yang ditentukan dalam grup penyebaran. Tahap ini ditautkan ke tag SQL-Svr-DB . Pilih Grup Penyebaran dari menu dropdown.
Pilih tahap fase Penyebaran IIS. Tahap ini menyebarkan aplikasi ke server web menggunakan tugas yang ditentukan. Tahap ini ditautkan ke tag WebSrv . Pilih Grup Penyebaran dari menu dropdown.
Pilih tugas Putuskan Sambungan Azure Network Load Balancer. Karena komputer target terhubung ke NLB, tugas ini akan memutuskan sambungan komputer dari NLB sebelum penyebaran dan menghubungkannya kembali ke NLB setelah penyebaran. Konfigurasikan tugas untuk menggunakan koneksi Azure, grup sumber daya, dan load balancer (seharusnya hanya ada satu).
Pilih tugas Pengelolaan Aplikasi Web IIS. Tugas ini berjalan pada komputer target penyebaran yang terdaftar dengan grup penyebaran yang dikonfigurasi untuk tugas/tahap. Ini membuat aplikasi web dan kumpulan aplikasi secara lokal dengan nama PartsUnlimited berjalan di bawah port 80
Pilih tugas Penyebaran Aplikasi Web IIS. Tugas ini berjalan pada komputer target penyebaran yang terdaftar dengan grup penyebaran yang dikonfigurasi untuk tugas/tahap. Ini menyebarkan aplikasi ke server IIS menggunakan Web Deploy.
Pilih tugas Koneksi Azure Network Load Balancer. Konfigurasikan tugas untuk menggunakan koneksi Azure, grup sumber daya, dan load balancer (seharusnya hanya ada satu).
Pilih tab Variabel dan masukkan nilai variabel seperti di bawah ini.
Nama Variabel Nilai Variabel DatabaseName PartsUnlimited-Dev DBPassword P2ssw0rd@123 DBUserName sqladmin Default Koneksi ionString Sumber Data=[YOUR_DNS_NAME]; Katalog Awal=PartsUnlimited-Dev; ID Pengguna=sqladmin; Password=P2ssw0rd@123; MultipleActiveResultSets=False; Koneksi waktu habis=30; ServerName localhost Penting
Pastikan untuk mengganti nama DNS server SQL Anda (yang Anda catat dari portal Azure sebelumnya) dalam variabel Default Koneksi ionString.
Default Koneksi ionString Anda harus mirip dengan string ini setelah mengganti DNS SQL:
Data Source=cust1sqljo5zndv53idtw.westus2.cloudapp.azure.com;Initial Catalog=PartsUnlimited-Dev;User ID=sqladmin;Password=P2ssw0rd@123;MultipleActiveResultSets=False;Connection Timeout=30;
Daftar variabel akhir akan terlihat seperti ini:
Catatan
Anda mungkin menerima kesalahan bahwa
DefaultConnectionString
variabel harus disimpan sebagai rahasia. Jika itu terjadi, pilih variabel dan klik ikon gembok yang muncul di samping nilainya untuk melindunginya.
Mengantrekan rilis dan meninjau penyebaran
Pilih Simpan dan konfirmasi.
Pilih Buat rilis dan konfirmasi. Ikuti rilis hingga selesai. Penyebaran kemudian siap untuk ditinjau.
Di portal Azure, buka salah satu VM web di grup sumber daya Anda. Anda dapat memilih apa pun yang ada
websrv
dalam nama.Salin DNS VM. Azure Load Balancer akan mendistribusikan lalu lintas masuk di antara instans server sehat yang ditentukan dalam set yang seimbang beban. Akibatnya, DNS semua instans server web sama.
Buka tab browser baru ke DNS VM. Konfirmasikan aplikasi yang disebarkan sedang berjalan.
Ringkasan
Dalam tutorial ini, Anda menyebarkan aplikasi web ke sekumpulan Azure VM menggunakan Azure Pipelines dan Grup Penyebaran. Meskipun skenario ini mencakup beberapa mesin, Anda dapat dengan mudah menskalakan proses hingga mendukung ratusan, atau bahkan ribuan komputer yang menggunakan hampir semua konfigurasi.
Membersihkan sumber daya
Tutorial ini membuat proyek Azure DevOps dan beberapa sumber daya di Azure. Jika Anda tidak akan terus menggunakan sumber daya ini, hapus dengan langkah-langkah berikut:
Hapus proyek Azure DevOps yang dibuat oleh Azure DevOps Demo Generator.
Semua sumber daya Azure yang dibuat selama tutorial ini ditetapkan ke grup sumber daya yang ditentukan selama pembuatan. Menghapus grup tersebut akan menghapus sumber daya yang dikandungnya. Penghapusan ini dapat dilakukan melalui CLI atau portal.