Latihan - Menyiapkan lingkungan Azure DevOps Anda

Selesai

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

  1. Jalankan templat yang menyiapkan organisasi Azure DevOps Anda:

  2. Dari situs Azure DevOps Demo Generator, pilih Masuk. Jika diminta, terima persyaratan penggunaan. Halaman Buat Project Baru muncul.

  3. 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.

    Cuplikan layar dari Azure DevOps Demo Generator yang menampilkan cara membuat proyek.

  4. 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.

  5. Pilih Buat Proyek.

    Template membutuhkan waktu beberapa saat untuk dijalankan.

  6. 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:

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.

  1. Dari Azure DevOps, navigasikan ke kategori Papan, lalu pilih Papan dari menu.

    Azure DevOps menampilkan lokasi menu Boards.

  2. 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.

  3. Pilih panah bawah di bagian bawah kartu dan pilih Lakukan atau pilih kartu dan seret ke kolom Sedang dilakukan.

    Cuplikan layar kartu item kerja yang menampilkan lokasi panah bawah.

  4. Item pekerjaan dipindahkan dari kolom Akan Dilakukan ke kolom Melakukan.

    Cuplikan layar Azure Boards yang menampilkan kartu item pekerjaan di 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

  1. Masuk ke portal Azure.

  2. Dari kontrol global di header halaman, pilih Cloud Shell.

    Cuplikan layar portal Azure yang menunjukkan lokasi item menu Cloud Shell.

    Terminal terbuka dan tersambung ke Cloud Shell Azure.

  3. 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.

  1. 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
    
  2. Dari kolom Name dalam output, pilih wilayah yang dekat dengan Anda. Misalnya, pilih eastasia atau westus2.

  3. 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.

  1. Dari Cloud Shell, hasilkan angka acak, yang akan kita gunakan untuk membuat nama unik global untuk layanan tertentu di langkah berikutnya.

    resourceSuffix=$RANDOM
    
  2. 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}"
    
  3. 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.

  1. Jalankan perintah az group create berikut untuk membuat grup sumber daya menggunakan nama yang ditentukan sebelumnya:

    az group create --name $rgName
    
  2. 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).

  3. 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"
    
  4. 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
    
  5. 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>
    
  6. 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
    
  7. 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
    
  8. Salin kedua nama host ini ke lokasi yang dapat Anda akses dengan mudah nanti.

  9. 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.

  1. Space Game - web - proyek Azure Functions Anda harus terbuka di Azure DevOps.

  2. Di menu, pilih Alur, lalu, di bagian Alur pilih Pustaka. Panel Pustaka muncul.

    Cuplikan layar menu Azure DevOps yang menampilkan opsi Perpustakaan dibagian Azure Pipeline.

  3. Di bilah perintah atau di tengah panel, pilih Grup variabel. Halaman Grup variabel baru muncul.

  4. Untuk nama grup variabel, masukkan Rilis.

  5. Di bagian Variabel, pilih Tambahkan.

  6. 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.

  7. Tambahkan variabel lain bernama LeaderboardAppName dengan nilai instans papan peringkat Anda, misalnya, tailspin-space-game-leaderboard-4692.

  8. Tambahkan variabel akhir bernama ResourceGroupName dengan nilai tailspin-space-game-rg.

  9. 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:

    Cuplikan layar Azure Pipelines yang menampilkan grup variabel. Grup berisi tiga variabel.

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.

  1. Dari menu Azure DevOps, di bawah Alur, pilih Lingkungan.

    Cuplikan layar Azure Pipelines yang menunjukkan lokasi opsi menu Lingkungan.

  2. Pilih Buat lingkungan. Panel Lingkungan baru muncul.

  3. Untuk Nama, masukkan spike.

  4. Untuk singkatnya, Anda membiarkan bidang yang tersisa pada nilai defaultnya.

  5. 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.

  1. Di Azure DevOps, Space Game - web - Azure Functions proyek alur, di bawah menu, pilih pengaturan Proyek. Panel Detail proyek muncul.

  2. Di menu, di bawah Alur, pilih Koneksi layanan.

  3. Pada halaman Koneksi layanan, pilih Koneksi layanan baru, lalu di panel Koneksi layanan baru, pilih Azure Resource Manager, lalu pilih Berikutnya.

  4. Di panel Koneksi layanan baru, pilih Perwakilan layanan (otomatis), lalu pilih Berikutnya.

  5. 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.

  6. Pastikan Berikan izin akses ke semua alur yang dipilih.

  7. 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.