Latihan - Siapkan lingkungan Anda

Selesai

Penting

Anda memerlukan langganan Azure Anda sendiri untuk menjalankan latihan ini, dan Anda mungkin dikenakan biaya. Jika Anda tidak memiliki langganan Azure, buat akun gratis sebelum memulai.

Sebelum Anda mulai menerbitkan kode Bicep perusahaan mainan Anda, Anda perlu mengonfigurasi lingkungan Anda. Di bagian ini, Anda memastikan bahwa lingkungan Azure dan GitHub Anda disiapkan untuk menyelesaikan sisa modul ini.

Untuk memenuhi tujuan ini, Anda akan:

  • Siapkan repositori GitHub untuk modul ini.
  • Kloning repositori ke komputer Anda.
  • Buat grup sumber daya di Azure.
  • Buatlah rahasia di GitHub.

Mendapatkan repositori GitHub

Di sini, Anda membuat repositori GitHub baru berdasarkan repositori templat. Repositori template berisi file yang Anda perlukan untuk memulai modul ini.

Modul-modul dalam jalur pembelajaran ini merupakan bagian dari sebuah progresi. Untuk tujuan pembelajaran, setiap modul memiliki repositori templat GitHub terkait.

Tip

Meskipun Anda telah menyelesaikan modul sebelumnya di jalur pembelajaran, harap ikuti petunjuk ini untuk membuat repositori baru dan pastikan Anda memberinya nama baru.

Mulai dari repositori templat

Jalankan templat yang menyiapkan repositori GitHub Anda.

Di situs GitHub, ikuti langkah-langkah ini untuk membuat repositori dari templat:

  1. Masuk ke GitHub.

  2. Pilih Gunakan templat>ini Buat repositori baru.

    Cuplikan layar antarmuka GitHub yang memperlihatkan repositori templat. Tombol untuk menggunakan templat disorot.

  3. Untuk Pemilik, pilih akun GitHub Anda.

  4. Masukkan Nama repositori untuk proyek baru Anda, seperti mainan yang dapat digunakan kembali.

  5. Pilih opsi Publik.

    Saat membuat repositori Anda sendiri, Anda mungkin ingin menjadikannya privat. Dalam modul ini, Anda akan menggunakan fitur GitHub yang hanya berfungsi bersama dengan repositori publik dan akun GitHub Enterprise.

  6. Pilih Buat repositori.

    Cuplikan layar antarmuka GitHub yang memperlihatkan halaman pembuatan repositori.

Penting

Latihan terakhir dalam modul ini berisi langkah-langkah pembersihan yang penting. Pastikan untuk mengikuti langkah-langkah pembersihan meskipun Anda tidak menyelesaikan modul ini.

Mengklon repositori

Sekarang setelah Anda memiliki salinan repositori templat di akun Anda sendiri, Anda akan mengkloning repositori ini secara lokal sehingga Anda dapat mulai bekerja di dalamnya.

  1. Pilih Kode, lalu pilih ikon Salin url ke clipboard .

    Cuplikan layar antarmuka GitHub yang menunjukkan repositori baru. Tombol salin URL repositori disorot.

  2. Buka Visual Studio Code.

  3. Buka jendela terminal Visual Studio Code dengan memilih Terminal>Terminal Baru. Jendela ini biasanya terbuka di bagian bawah layar.

  4. Di terminal, buka direktori tempat Anda ingin mengkloning repositori GitHub di komputer lokal Anda. Misalnya, untuk mengkloning repositori dalam folder repositori , jalankan perintah berikut:

    cd repositories
    
  5. Ketik git clone lalu tempel URL yang Anda salin sebelumnya, yang terlihat seperti ini:

    git clone https://github.com/mygithubuser/toy-reusable.git
    
  6. Buka kembali Visual Studio Code di folder repositori dengan menjalankan perintah berikut di terminal Visual Studio Code:

    code --reuse-window toy-reusable
    

Masuk ke Azure

Untuk bekerja dengan grup sumber daya di Azure, masuk ke akun Azure Anda dari terminal Visual Studio Code. Pastikan Anda telah menginstal alat Azure CLI dan ekstensi Akun Azure untuk Visual Studio Code.

  1. Pada menu Terminal, pilih Terminal Baru. Jendela terminal biasanya terbuka di bagian bawah layar Anda.

    Shell default biasanya pwsh, seperti yang ditunjukkan di sisi kanan jendela terminal.

    Cuplikan layar jendela terminal Visual Studio Code, di mana pwsh ditampilkan sebagai opsi shell.

  2. Pilih daftar dropdown Luncurkan Profil, lalu pilih Azure Cloud Shell (Bash).

    Cuplikan layar jendela terminal Visual Studio Code. Daftar dropdown shell terminal dan item menu Azure Cloud Shell (Bash) ditampilkan.

    Shell baru terbuka.

Masuk ke Azure menggunakan Azure CLI

  1. Di terminal Visual Studio Code, jalankan perintah berikut untuk masuk ke Azure:

    az login
    
  2. Masuk ke akun Azure Anda melalui browser yang terbuka.

Untuk bekerja dengan grup sumber daya di Azure, masuk ke akun Azure Anda dari terminal Visual Studio Code. Pastikan Anda telah menginstal Azure PowerShell dan ekstensi Akun Azure untuk Visual Studio Code.

  1. Pada menu Terminal, pilih Terminal Baru. Jendela terminal biasanya terbuka di bagian bawah layar Anda.

    Shell default biasanya pwsh, seperti yang ditunjukkan di sisi kanan jendela terminal.

    Cuplikan layar jendela terminal Visual Studio Code, di mana pwsh ditampilkan sebagai opsi shell.

  2. Pilih daftar dropdown Luncurkan Profil, lalu pilih Azure Cloud Shell (PowerShell).

    Cuplikan layar jendela terminal Visual Studio Code. Daftar dropdown shell terminal dan item menu Azure Cloud Shell (PowerShell) ditampilkan.

    Shell baru terbuka.

Masuk ke Azure menggunakan Azure PowerShell

  1. Di terminal Visual Studio Code, jalankan perintah berikut untuk masuk ke Azure:

    Connect-AzAccount -UseDeviceAuthentication
    
  2. Ikuti instruksi perintah untuk masuk ke akun Azure Anda.

Membuat identitas beban kerja

Selanjutnya, buat identitas beban kerja di ID Microsoft Entra untuk alur kerja penyebaran Anda.

Untuk membuat identitas beban kerja, perintah Azure CLI digunakan jq untuk mengurai data dari output JSON. Jika belum jq menginstal, Anda dapat menggunakan Bash di Azure Cloud Shell untuk membuat identitas beban kerja, grup sumber daya, dan penetapan peran, dan menyiapkan rahasia GitHub.

  1. Jalankan kode berikut untuk menentukan variabel untuk nama pengguna GitHub dan nama repositori Anda. Pastikan Anda mengganti mygithubuser dengan nama pengguna GitHub, yang Anda catat sebelumnya dalam latihan ini. Selain itu, pastikan Anda menentukan nama repositori GitHub yang benar.

    githubOrganizationName='mygithubuser'
    githubRepositoryName='toy-reusable'
    
  2. Buat identitas beban kerja untuk alur kerja penyebaran Anda.

    applicationRegistrationDetails=$(az ad app create --display-name 'toy-reusable')
    applicationRegistrationObjectId=$(echo $applicationRegistrationDetails | jq -r '.id')
    applicationRegistrationAppId=$(echo $applicationRegistrationDetails | jq -r '.appId')
    
    az ad app federated-credential create \
       --id $applicationRegistrationObjectId \
       --parameters "{\"name\":\"toy-reusable-branch\",\"issuer\":\"https://token.actions.githubusercontent.com\",\"subject\":\"repo:${githubOrganizationName}/${githubRepositoryName}:ref:refs/heads/main\",\"audiences\":[\"api://AzureADTokenExchange\"]}"
    
  1. Jalankan kode berikut untuk menentukan variabel untuk nama pengguna GitHub dan nama repositori Anda. Pastikan Anda mengganti mygithubuser dengan nama pengguna GitHub, yang Anda catat sebelumnya dalam latihan ini. Selain itu, pastikan Anda menentukan nama repositori GitHub yang benar.

    $githubOrganizationName = 'mygithubuser'
    $githubRepositoryName = 'toy-reusable'
    
  2. Buat identitas beban kerja untuk alur kerja penyebaran Anda.

    $applicationRegistration = New-AzADApplication -DisplayName 'toy-reusable'
    New-AzADAppFederatedCredential `
       -Name 'toy-reusable-branch' `
       -ApplicationObjectId $applicationRegistration.Id `
       -Issuer 'https://token.actions.githubusercontent.com' `
       -Audience 'api://AzureADTokenExchange' `
       -Subject "repo:$($githubOrganizationName)/$($githubRepositoryName):ref:refs/heads/main"
    

Buat grup sumber daya di Azure dan berikan akses identitas beban kerja

Selanjutnya, buat grup sumber daya untuk situs web Anda. Proses ini juga memberikan identitas beban kerja peran Kontributor pada grup sumber daya, yang memungkinkan alur kerja Anda untuk disebarkan ke grup sumber daya.

Jalankan perintah Azure CLI berikut di terminal Visual Studio Code:

resourceGroupResourceId=$(az group create --name ToyReusable --location westus3 --query id --output tsv)

az ad sp create --id $applicationRegistrationObjectId
az role assignment create \
  --assignee $applicationRegistrationAppId \
  --role Contributor \
  --scope $resourceGroupResourceId

Jalankan perintah Azure PowerShell berikut di terminal Visual Studio Code:

$resourceGroup = New-AzResourceGroup -Name ToyReusable -Location westus3

New-AzADServicePrincipal -AppId $applicationRegistration.AppId
New-AzRoleAssignment `
  -ApplicationId $applicationRegistration.AppId `
  -RoleDefinitionName Contributor `
  -Scope $resourceGroup.ResourceId

Siapkan rahasia GitHub

Jalankan kode berikut untuk menunjukkan nilai yang perlu Anda buat sebagai rahasia GitHub:

echo "AZURE_CLIENT_ID: $applicationRegistrationAppId"
echo "AZURE_TENANT_ID: $(az account show --query tenantId --output tsv)"
echo "AZURE_SUBSCRIPTION_ID: $(az account show --query id --output tsv)"
$azureContext = Get-AzContext
Write-Host "AZURE_CLIENT_ID: $($applicationRegistration.AppId)"
Write-Host "AZURE_TENANT_ID: $($azureContext.Tenant.Id)"
Write-Host "AZURE_SUBSCRIPTION_ID: $($azureContext.Subscription.Id)"

Catat nilai ID aplikasi Anda untuk AZURE_CLIENT_ID. Anda dapat menggunakan nilai tersebut saat membersihkan sumber daya setelah selesai dengan modul ini.

Membuat rahasia GitHub

Anda telah membuat identitas beban kerja, dan grup sumber daya yang dapat digunakan untuk menyebarkannya. Selanjutnya, buat rahasia di Tindakan GitHub.

  1. Di browser Anda, buka repositori GitHub.

  2. Pilih Pengaturan>Tindakan Rahasia dan variabel.>

  3. Pilih Rahasia repositori baru.

    Cuplikan layar antarmuka GitHub memperlihatkan halaman 'Rahasia'. Tombol 'Rahasia repositori baru' disorot.

  4. Beri nama rahasia AZURE_CLIENT_ID.

  5. Di bidang Nilai, tempel GUID dari baris pertama keluaran terminal. Jangan sertakan AZURE_CLIENT_ID, titik dua, atau spasi apa pun dalam nilai.

  6. Pilih Tambahkan rahasia.

    Cuplikan layar antarmuka GitHub memperlihatkan halaman 'Rahasia Baru'. Nama dan nilai dimasukkan, dan tombol 'Tambahkan rahasia' disorot.

  7. Ulangi proses untuk membuat rahasia untuk AZURE_TENANT_ID dan AZURE_SUBSCRIPTION_ID, menyalin nilai dari bidang yang sesuai di keluaran terminal.

  8. Verifikasi bahwa daftar rahasia Anda sekarang menunjukkan ketiga rahasia tersebut.

    Cuplikan layar antarmuka GitHub yang menampilkan daftar rahasia.