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 menyiapkan alur kerja permintaan pull perusahaan mainan, Anda perlu mengonfigurasi lingkungan Anda.

Di pelajaran ini, Anda memastikan bahwa lingkungan Azure dan GitHub telah disiapkan sehingga Anda dapat menyelesaikan sisa modul ini dengan sukses.

Untuk memenuhi tujuan ini, Anda akan:

  • Siapkan repositori GitHub untuk modul ini.
  • Kloning repositori ke komputer Anda.
  • Buat identitas beban kerja di ID Microsoft Entra.
  • Buatlah rahasia di GitHub.

Mendapatkan repositori GitHub

Di bagian ini, Anda menyiapkan repositori GitHub untuk menyelesaikan sisa modul ini dengan membuat repositori baru berdasarkan repositori templat. Repositori template berisi file yang Anda butuhkan 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

Bahkan jika Anda telah menyelesaikan modul sebelumnya di jalur pembelajaran, ikuti instruksi ini untuk membuat repositori baru dan beri repositori nama baru.

Mulai dari repositori templat

Jalankan templat yang menyiapkan repositori GitHub Anda.

Di situs GitHub, buat repositori dari templat dengan melakukan langkah-langkah berikut:

  1. Pilih Gunakan templat>ini Buat repositori baru.

    Cuplikan layar antarmuka GitHub yang menampilkan repositori templat, dengan tombol 'Gunakan templat ini' disorot.

  2. Mencatat nama dari nama pengguna atau organisasi GitHub Anda. Dalam contoh, nama pengguna GitHub adalah mygithubuser. Anda akan membutuhkan nama ini segera.

  3. Masukkan nama untuk proyek baru Anda, seperti toy-website-review.

  4. Pilih opsi Publik.

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

  5. Pilih Buat repositori.

    Cuplikan layar antarmuka GitHub yang menunjukkan halaman pembuatan repositori.

Mengklon repositori

Anda sekarang memiliki salinan repositori templat di akun Anda sendiri. Klon repositori ini secara lokal sehingga Anda dapat mulai bekerja di dalamnya.

  1. Pilih Kode, lalu pilih ikon salin.

    Cuplikan layar antarmuka GitHub yang menampilkan repositori baru, dengan 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 mengklon repositori GitHub di komputer lokal. Misalnya, untuk mengklon repositori ke folder toy-website-review, jalankan perintah berikut:

    cd toy-website-auto-review
    
  5. Ketik git clone lalu tempel URL yang Anda salin sebelumnya, yang terlihat seperti ini:

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

    code -r toy-website-auto-review
    

Masuk ke Azure

Setelah mengkloning repositori secara lokal ke komputer, Anda akan masuk ke lingkungan Azure Anda. Anda akan menggunakan akun Azure Anda untuk membuat identitas beban kerja untuk alur kerja Tindakan GitHub Anda untuk digunakan.

  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.

  1. Pada terminal Visual Studio Code, masuk ke Azure dengan menjalankan perintah berikut:

    Connect-AzAccount
    
  2. Masuk ke akun Azure Anda melalui browser yang terbuka.

Membuat identitas beban kerja

Nantinya di modul Microsoft Learn ini, alur kerja permintaan pull Anda akan membuat grup sumber daya dan sumber daya dalam langganan Anda. Untuk menyebarkan sumber daya, Anda perlu membuat identitas beban kerja dan memberinya peran Kontributor pada langganan Anda.

Peringatan

Identitas beban kerja yang Anda buat di sini memiliki akses tingkat tinggi ke langganan Azure Anda. Untuk menghindari masalah yang tidak disengaja, gunakan langganan nonproduksi. Jangan jalankan langkah-langkah ini di lingkungan yang memiliki beban kerja produksi Anda.

Dalam alur kerja validasi permintaan pull Anda sendiri, sebaiknya Anda menggunakan langganan Azure khusus.

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 Anda, yang Anda catat sebelumnya dalam latihan ini. Pastikan juga Anda menentukan nama repositori GitHub yang benar.

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

    applicationRegistrationDetails=$(az ad app create --display-name 'toy-website-auto-review')
    applicationRegistrationObjectId=$(echo $applicationRegistrationDetails | jq -r '.id')
    applicationRegistrationAppId=$(echo $applicationRegistrationDetails | jq -r '.appId')
    
    az ad app federated-credential create \
       --id $applicationRegistrationObjectId \
       --parameters "{\"name\":\"toy-website-auto-review\",\"issuer\":\"https://token.actions.githubusercontent.com\",\"subject\":\"repo:${githubOrganizationName}/${githubRepositoryName}:pull_request\",\"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 Anda, yang Anda catat sebelumnya dalam latihan ini. Pastikan juga Anda menentukan nama repositori GitHub yang benar.

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

    $applicationRegistration = New-AzADApplication -DisplayName 'toy-website-auto-review'
    New-AzADAppFederatedCredential `
       -Name 'toy-website-auto-review' `
       -ApplicationObjectId $applicationRegistration.Id `
       -Issuer 'https://token.actions.githubusercontent.com' `
       -Audience 'api://AzureADTokenExchange' `
       -Subject "repo:$($githubOrganizationName)/$($githubRepositoryName):pull_request"
    

Berikan akses identitas beban kerja ke langganan Anda

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.

  1. Jalankan perintah Azure CLI berikut di terminal Visual Studio Code:

    az ad sp create --id $applicationRegistrationObjectId
    az role assignment create \
       --assignee $applicationRegistrationAppId \
       --role Contributor
    
  1. Jalankan perintah Azure PowerShell berikut di terminal Visual Studio Code:

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

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 memberinya izin untuk disebarkan ke langganan. Selanjutnya, buat rahasia di Tindakan GitHub.

  1. Di browser Anda, navigasikan ke repositori GitHub Anda.

  2. Pilih Pengaturan>Tindakan Rahasia dan variabel.>

  3. Pilih Rahasia repositori baru.

    Cuplikan layar antarmuka GitHub yang menampilkan halaman 'Rahasia', dengan tombol 'Buat rahasia repositori' 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 yang menampilkan halaman 'Rahasia Baru', dengan nama dan nilai yang telah diisi serta 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.