Latihan - Menyiapkan lingkungan Azure DevOps Anda
Di unit ini, Anda akan memastikan bahwa organisasi Azure DevOps Anda disiapkan untuk menyelesaikan sisa modul ini. Anda juga akan membuat lingkungan Azure App Service yang akan Anda sebarkan.
Untuk mencapai tujuan ini, Anda akan:
- Tambahkan pengguna untuk memastikan Azure DevOps bisa terhubung ke langganan Azure Anda.
- Siapkan proyek Azure DevOps untuk modul ini.
- Di Azure Boards, pindahkan item pekerjaan untuk modul ini ke kolom Melakukan.
- Pastikan proyek Anda disiapkan secara lokal sehingga Anda dapat mendorong perubahan ke alur.
- Buat aplikasi Azure App Service dan Azure Functions menggunakan Azure CLI di Azure Cloud Shell.
- Buat variabel alur yang menentukan nama instans App Service dan Azure Functions Anda.
- Membuat koneksi layanan yang memungkinkan Azure Pipelines mengakses langganan Azure Anda dengan aman.
Tambahkan pengguna ke Azure DevOps
Untuk menyelesaikan modul ini, Anda memerlukan langganan Azure Anda sendiri. Anda dapat mulai menggunakan Azure secara gratis.
Meskipun Anda tidak memerlukan langganan Azure untuk bekerja dengan Azure DevOps, latihan ini menggunakan Azure DevOps untuk menyebarkan ke sumber daya Azure di langganan Azure Anda. Untuk menyederhanakan proses, gunakan akun Microsoft yang sama untuk masuk ke langganan Azure dan organisasi Azure DevOps Anda.
Penting
Jika Anda masuk dengan akun yang berbeda, maka Anda harus menambahkan pengguna ke organisasi DevOps Anda di bawah akun Microsoft yang Anda gunakan untuk masuk ke Azure. Untuk informasi selengkapnya, lihat Menambahkan pengguna ke organisasi atau proyek Anda. Saat Anda menambahkan pengguna, pilih tingkat akses Dasar.
Kemudian, keluar dari Azure DevOps dan masuk dengan akun pengguna baru. Gunakan akun Microsoft yang Anda gunakan untuk masuk ke langganan Azure Anda.
Dapatkan proyek Azure DevOps
Pastikan organisasi Azure DevOps Anda disiapkan untuk menyelesaikan sisa modul ini. Untuk melakukannya, Anda akan menjalankan templat yang membuat proyek di Azure DevOps.
Modul dalam jalur pembelajaran ini membentuk tingkat kemajuan saat Anda mengikuti tim web Tailspin melalui perjalanan DevOps mereka. Untuk tujuan pembelajaran, setiap modul memiliki proyek Azure DevOps-nya sendiri.
Jalankan template
Jalankan templat yang menyiapkan organisasi Azure DevOps Anda:
Dari situs Azure DevOps Demo Generator, pilih Masuk. Jika diminta, terima persyaratan penggunaan. Halaman Buat Project Baru muncul.
Pada halaman Buat Proyek Baru, masukkan nama proyek, seperti Space Game - web - Azure Functions, lalu untuk Pilih Organisasi, pilih organisasi yang Anda gunakan untuk langganan Azure Anda.
Di bagian berikutnya, pilih Ya, saya ingin membuat fork repositori ini, lalu pilih Otorisasi.
Jika jendela muncul, otorisasi akses ke akun GitHub Anda.
Penting
Opsi mengaktifkan fork ini diperlukan agar templat tersambung ke repositori GitHub Anda. Pilih ini meskipun Anda telah melakukan fork proyek situs web Space Game. Templat menggunakan fork Anda yang sudah ada.
Pilih Buat Proyek.
Template membutuhkan waktu beberapa saat untuk dijalankan.
Saat proyek berhasil disediakan, pilih Navigasi ke proyek untuk membuka proyek Anda di Azure DevOps.
Penting
Halaman Bersihkan lingkungan Azure DevOps Anda dalam modul ini berisi langkah-langkah penting yang harus Anda selesaikan, meskipun Anda tidak menyelesaikan modul ini. Pembersihan membantu memastikan bahwa Anda tidak kehabisan menit build gratis.
Atur visibilitas proyek Anda
Awalnya, fork repositori Space Game Anda di GitHub diatur ke publik saat proyek yang dibuat oleh templat Azure DevOps diatur ke privat. Repositori publik di GitHub dapat diakses oleh siapa saja, sementara repositori privat hanya dapat diakses oleh Anda dan orang-orang yang Anda pilih untuk membagikannya. Demikian pula, di Azure DevOps, proyek publik menyediakan akses baca-saja ke pengguna yang tidak diautentikasi, sementara proyek privat mengharuskan pengguna untuk diberikan akses dan diautentikasi untuk mengakses layanan.
Saat ini, tidak perlu memodifikasi salah satu pengaturan ini untuk tujuan modul ini. Namun, untuk proyek pribadi Anda, Anda harus menentukan visibilitas dan akses yang ingin Anda berikan kepada orang lain. Misalnya, jika proyek Anda sumber terbuka, Anda dapat memilih untuk membuat repositori GitHub dan proyek Azure DevOps Anda menjadi publik. Jika proyek Anda bersifat kepemilikan, Anda biasanya akan membuat repositori GitHub dan proyek Azure DevOps Anda privat.
Nantinya, Anda mungkin menemukan sumber daya berikut yang berguna dalam menentukan opsi mana yang terbaik untuk proyek Anda:
- Menggunakan proyek privat dan publik
- Mulai cepat: Membuat proyek privat Anda menjadi publik
- Mengatur visibilitas repositori
Menetapkan item kerja dan memindahkannya ke status Melakukan
Di sini, Anda akan menetapkan item kerja untuk diri Anda sendiri di Azure Boards dan mengatur status item kerja ke Lakukan. Dalam praktiknya, Anda dan tim Anda akan membuat item pekerjaan di awal setiap sprint, atau perulangan kerja.
Latihan ini membuat daftar periksa untuk bekerja. Ini memberikan visibilitas anggota tim lain ke dalam apa yang sedang Anda kerjakan dan berapa banyak pekerjaan yang tersisa. Item kerja juga membantu memberlakukan batas pekerjaan-sedang-berlangsung (WIP) sehingga tim tidak mengambil terlalu banyak pekerjaan sekaligus.
Dari Azure DevOps, navigasikan ke kategori Papan, lalu pilih Papan dari menu.
Buka API papan peringkat Refaktor sebagai item kerja Azure Function dengan memilih judul. Tetapkan item kerja ini untuk diri Anda sendiri, lalu pilih Simpan & Tutup.
Pilih panah bawah di bagian bawah kartu dan pilih Lakukan atau pilih kartu dan seret ke kolom Sedang dilakukan.
Item pekerjaan dipindahkan dari kolom Akan Dilakukan ke kolom Melakukan.
Di akhir modul ini, Anda akan memindahkan kartu ke kolom Done setelah menyelesaikan tugas.
Membuat lingkungan Azure App Service dan Azure Functions
Di sini, Anda akan membuat aplikasi App Service dan Azure Functions yang diperlukan untuk menyebarkan versi baru situs dan API.
Dalam modul Buat alur rilis dengan Azure Pipelines Learn, Anda memunculkan App Service melalui portal Azure. Meskipun portal adalah cara yang tepat untuk menjelajahi apa saja yang tersedia di Azure atau untuk melakukan tugas dasar, memunculkan komponen seperti App Service bisa melelahkan.
Dalam modul ini, Anda menggunakan Azure CLI untuk memunculkan instans App Service. Anda dapat mengakses Azure CLI dari terminal atau melalui Visual Studio Code. Di sini, kita akan mengakses Azure CLI dari Azure Cloud Shell. Pengalaman shell berbasis browser ini dihosting di cloud. Di Cloud Shell, Azure CLI dikonfigurasikan untuk digunakan dengan langganan Azure Anda.
Penting
Anda memerlukan langganan Azure Anda sendiri untuk menyelesaikan latihan dalam modul ini.
Munculkan Cloud Shell melalui portal Azure
Masuk ke portal Azure.
Dari kontrol global di header halaman, pilih Cloud Shell.
Terminal terbuka dan tersambung ke Cloud Shell Azure.
Jika perlu, pilih Bash dari menu terminal.
Catatan
Cloud Shell memerlukan sumber daya penyimpanan Azure untuk menyimpan file apa pun yang Anda buat di Cloud Shell. Saat pertama kali membuka Cloud Shell, Anda akan diminta untuk membuat grup sumber daya, akun penyimpanan, dan berbagi Azure Files. Penyiapan ini secara otomatis digunakan untuk semua sesi Cloud Shell di masa mendatang.
Pilih wilayah Azure
Wilayah adalah satu pusat data Azure atau lebih dalam lokasi geografis. US Timur, US Barat, dan Eropa Utara adalah contoh wilayah. Setiap sumber daya Azure, termasuk instans App Service, ditetapkan wilayah.
Untuk membuat perintah lebih mudah dijalankan, mari kita mulai dengan mengatur wilayah default. Setelah Anda menentukan wilayah default, perintah yang Anda masukkan menggunakan wilayah tersebut hingga Anda menentukan wilayah yang berbeda.
Dari Cloud Shell, jalankan perintah
az account list-locations
berikut untuk mencantumkan wilayah yang tersedia dari langganan Azure Anda:az account list-locations \ --query "[].{Name: name, DisplayName: displayName}" \ --output table
Dari kolom
Name
dalam output, pilih wilayah yang dekat dengan Anda. Misalnya, piliheastasia
atauwestus2
.Jalankan
az configure
untuk mengatur wilayah default Anda. Ganti<REGION>
dengan nama wilayah yang dipilih.az configure --defaults location=<REGION>
Contoh ini menetapkan
westus2
sebagai wilayah default:az configure --defaults location=westus2
Membuat variabel Bash
Di sini, Anda akan membuat variabel Bash untuk membuat proses penyiapan lebih nyaman dan kurang rawan kesalahan. Menggunakan variabel untuk string teks bersama membantu menghindari kesalahan ketik yang tidak disengaja.
Dari Cloud Shell, hasilkan angka acak, yang akan kita gunakan untuk membuat nama unik global untuk layanan tertentu di langkah berikutnya.
resourceSuffix=$RANDOM
Buat tiga nama unik global untuk akun App Service, Azure Function, dan penyimpanan Anda. Perintah ini menggunakan tanda kutip ganda, yang menginstruksikan Bash untuk menyelesaikan variabel menggunakan sintaksis sebaris.
webName="tailspin-space-game-web-${resourceSuffix}" leaderboardName="tailspin-space-game-leaderboard-${resourceSuffix}" storageName="tailspinspacegame${resourceSuffix}"
Buat dua variabel Bash lagi untuk menyimpan nama grup sumber daya dan paket App Service Anda.
rgName='tailspin-space-game-rg' planName='tailspin-space-game-asp'
Buat sumber daya Azure yang diperlukan
Solusi kami memerlukan beberapa sumber daya Azure untuk penyebaran, yang akan kami buat sekarang.
Catatan
Latihan ini menggunakan pengaturan jaringan default, sehingga situs Anda dapat diakses dari internet. Dalam praktiknya, Anda dapat mengonfigurasi jaringan virtual Azure untuk menempatkan situs web Anda dalam jaringan yang hanya dapat diakses oleh Anda dan tim Anda. Nantinya, Anda dapat mengonfigurasi ulang jaringan virtual Anda untuk membuat situs web tersedia untuk pengguna Anda.
Jalankan perintah
az group create
berikut untuk membuat grup sumber daya menggunakan nama yang ditentukan sebelumnya:az group create --name $rgName
Jalankan perintah berikut
az appservice plan create
untuk membuat paket App Service menggunakan nama yang ditentukan dalam tugas sebelumnya:az appservice plan create \ --name $planName \ --resource-group $rgName \ --sku B1 \ --is-linux
Parameter
--sku
menentukan paket B1. Paket ini berjalan di tingkat Dasar. Parameter--is-linux
menentukan pekerja Linux (utas yang digunakan dalam peristiwa dan penjadwalan tugas).Penting
Jika SKU B1 tidak tersedia di langganan Azure, pilih paket lain, seperti S1 (Standar).
Jalankan perintah berikut
az webapp create
untuk membuat instans App Service:az webapp create \ --name $webName \ --resource-group $rgName \ --plan $planName \ --runtime "DOTNETCORE|6.0"
Azure Functions memerlukan akun penyimpanan untuk penyebaran. Jalankan perintah berikut
az storage account create
untuk membuatnya:az storage account create \ --name $storageName \ --resource-group $rgName \ --sku Standard_LRS
Jalankan perintah
az functionapp create
berikut untuk membuat instans aplikasi Azure Functions. Ganti<region>
dengan wilayah pilihan Anda.az functionapp create \ --name $leaderboardName \ --resource-group $rgName \ --storage-account $storageName \ --functions-version 4 \ --consumption-plan-location <region>
Jalankan perintah berikut
az webapp list
untuk mencantumkan nama host dan status instans App Service:az webapp list \ --resource-group $rgName \ --query "[].{hostName: defaultHostName, state: state}" \ --output table
Catat nama host untuk layanan yang berjalan. Ini akan terlihat mirip dengan yang berikut ini, tetapi pengidentifikasi angka acak akan berbeda. Anda akan memerlukan nama host web nanti saat memverifikasi pekerjaan Anda.
HostName State ---------------------------------------------- ------- tailspin-space-game-web-4692.azurewebsites.net Running
Jalankan perintah
az functionapp list
berikut untuk mencantumkan nama host dan status instans Azure Functions.az functionapp list \ --resource-group $rgName \ --query "[].{hostName: defaultHostName, state: state}" \ --output table
Catat nama host untuk layanan yang berjalan. Ini akan terlihat mirip dengan yang berikut ini, tetapi pengidentifikasi angka acak akan berbeda. Anda akan memerlukan nama host papan peringkat nanti saat memverifikasi pekerjaan Anda.
HostName State ------------------------------------------------------ ------- tailspin-space-game-leaderboard-4692.azurewebsites.net Running
Salin kedua nama host ini ke lokasi yang dapat Anda akses dengan mudah nanti.
Sebagai langkah opsional, buka browser dan masukkan nama host untuk memverifikasi bahwa itu berjalan. Beranda default muncul.
Penting
Halaman Bersihkan lingkungan Azure DevOps Anda dalam modul ini berisi langkah-langkah pembersihan penting. Membersihkan membantu memastikan bahwa Anda tidak dikenakan biaya untuk sumber daya Azure setelah Anda menyelesaikan modul ini. Pastikan untuk melakukan langkah-langkah pembersihan meskipun Anda tidak menyelesaikan modul ini.
Membuat variabel alur di Azure Pipelines
Di modul Buat alur rilis dengan Azure Pipelines, Anda menambahkan variabel ke alur yang menyimpan nama aplikasi web Anda di App Service. Di sini, Anda akan melakukan hal yang sama. Selain itu, Anda akan menambahkan nama aplikasi papan peringkat untuk instans Azure Functions.
Anda dapat melakukan hard-code nama ini secara permanen dalam konfigurasi alur Anda, tetapi jika Anda menentukannya sebagai variabel, konfigurasi Anda akan lebih dapat digunakan kembali. Selain itu, jika nama instans berubah, Anda dapat memperbarui variabel dan memicu alur tanpa mengubah konfigurasi Anda.
Mari kita tambahkan grup variabel ke proyek Anda.
Space Game - web - proyek Azure Functions Anda harus terbuka di Azure DevOps.
Di menu, pilih Alur, lalu, di bagian Alur pilih Pustaka. Panel Pustaka muncul.
Di bilah perintah atau di tengah panel, pilih Grup variabel. Halaman Grup variabel baru muncul.
Untuk nama grup variabel, masukkan Rilis.
Di bagian Variabel, pilih Tambahkan.
Untuk nama variabel, masukkan WebAppName. Untuk nilai, masukkan nama instans App Service yang dibuat di atas, seperti tailspin-space-game-web-4692.
Penting
Atur nama instans App Service, bukan nama host lengkapnya. Dalam latihan ini, misalnya, tailspin-space-game-web-4692 adalah bagian instans dari nama host tailspin-space-game-web-4692.azurewebsites.net.
Tambahkan variabel lain bernama LeaderboardAppName dengan nilai instans papan peringkat Anda, misalnya, tailspin-space-game-leaderboard-4692.
Tambahkan variabel akhir bernama ResourceGroupName dengan nilai tailspin-space-game-rg.
Di bilah perintah di dekat bagian atas halaman, pilih Simpan untuk menyimpan grup variabel Rilis Anda ke alur.
Variabel dalam grup variabel Anda harus serupa:
Membuat lingkungan lonjakan
Dalam modul sebelumnya, Anda membuat lingkungan untuk dev, pengujian, dan staging environment. Di sini, Anda akan melakukan hal yang sama. Kali ini, Anda akan membuat lingkungan bernama spike.
Dari menu Azure DevOps, di bawah Alur, pilih Lingkungan.
Pilih Buat lingkungan. Panel Lingkungan baru muncul.
Untuk Nama, masukkan spike.
Untuk singkatnya, Anda membiarkan bidang yang tersisa pada nilai defaultnya.
Pilih Buat.
Membuat koneksi layanan
Di sini, Anda akan membuat koneksi layanan yang memungkinkan Azure Pipelines mengakses langganan Azure Anda. Azure Pipelines menggunakan koneksi layanan ini untuk menyebarkan situs web ke App Service. Anda telah membuat koneksi layanan serupa di modul sebelumnya.
Penting
Pastikan Anda masuk ke portal Azure dan Azure DevOps dengan akun Microsoft yang sama.
Di Azure DevOps, Space Game - web - Azure Functions proyek alur, di bawah menu, pilih pengaturan Proyek. Panel Detail proyek muncul.
Di menu, di bawah Alur, pilih Koneksi layanan.
Pada halaman Koneksi layanan, pilih Koneksi layanan baru, lalu di panel Koneksi layanan baru, pilih Azure Resource Manager, lalu pilih Berikutnya.
Di panel Koneksi layanan baru, pilih Perwakilan layanan (otomatis), lalu pilih Berikutnya.
Di panel Koneksi layanan Azure Baru, pilih atau masukkan pengaturan berikut ini:
Bidang Nilai Tingkat cakupan Langganan Langganan Pilih langganan Azure Anda Grup Sumber Daya tailspin-space-game-rg Nama koneksi layanan Resource Manager - Tailspin - Space Game Selama proses, Anda mungkin diminta untuk masuk ke akun Microsoft Anda.
Pastikan Berikan izin akses ke semua alur yang dipilih.
Pilih Simpan.
Azure DevOps melakukan koneksi pengujian untuk memverifikasi bahwa koneksi dapat terhubung ke langganan Azure Anda. Jika Azure DevOps tidak dapat terhubung, Anda memiliki kesempatan untuk masuk untuk kedua kalinya.