Alıştırma - Ortamınızı ayarlama

Tamamlandı

Önemli

Bu alıştırmayı çalıştırmak için kendi Azure aboneliğinizin olması gerekir ve ücret ödeyebilirsiniz. Mevcut bir Azure aboneliğiniz yoksa başlamadan önce ücretsiz hesap oluşturun.

Oyuncak şirketinizin yeniden kullanılabilir Bicep kodunu yayımlamaya başlamadan önce ortamınızı yapılandırmanız gerekir. Bu bölümde Azure ve GitHub ortamlarınızın bu modülün geri kalanını tamamlayacak şekilde ayarlandığından emin olun.

Bu hedeflere ulaşmak için şunları yapacaksınız:

  • Bu modül için bir GitHub deposu ayarlayın.
  • Depoyu bilgisayarınıza kopyalayın.
  • Azure'da bir kaynak grubu oluşturun.
  • GitHub'da gizli dizi oluşturun.

GitHub deposunu alma

Burada şablon deposunu temel alan yeni bir GitHub deposu oluşturacaksınız. Şablon deposu, bu modüle başlamak için ihtiyacınız olan dosyaları içerir.

Bu öğrenme yolundaki modüller bir ilerlemenin parçasıdır. Öğrenme amacıyla her modülün ilişkili bir GitHub şablon deposu vardır.

İpucu

Öğrenme yolunda önceki modülü tamamlamış olsanız bile lütfen bu yönergeleri izleyerek yeni bir depo oluşturun ve yeni bir ad verdiğinizden emin olun.

Şablon deposundan başlayın

GitHub deponuzu ayarlayan bir şablon çalıştırın.

GitHub sitesinde, şablondan bir depo oluşturmak için şu adımları izleyin:

  1. GitHub'da oturum açma.

  2. Bu şablonu>kullan Yeni depo oluştur'u seçin.

    Şablon deposunu gösteren GitHub arabiriminin ekran görüntüsü. Şablonu kullanma düğmesi vurgulanır.

  3. Sahip için GitHub hesabınızı seçin.

  4. Yeni projeniz için oyuncak yeniden kullanılabilir gibi bir Depo adı girin.

  5. Genel seçeneğini belirleyin.

    Kendi depolarınızı oluştururken bunları özel hale getirmek isteyebilirsiniz. Bu modülde, GitHub'ın yalnızca genel depolar ve GitHub Enterprise hesaplarıyla birlikte çalışan özelliklerini kullanacaksınız.

  6. Create repository (Depo oluştur) öğesine tıklayın.

    Depo oluşturma sayfasını gösteren GitHub arabiriminin ekran görüntüsü.

Önemli

Bu modüldeki son alıştırmada önemli temizleme adımları yer alır. Bu modülü tamamlamasanız bile temizleme adımlarını izlediğinize emin olun.

Depoyu kopyalama

Artık kendi hesabınızda şablon deposunun bir kopyası olduğuna göre, üzerinde çalışmaya başlayabilmeniz için bu depoyu yerel olarak kopyalayacaksınız.

  1. Kod'a tıklayın ve ardından Url'yi panoya kopyala simgesini seçin.

    Yeni depoyu gösteren GitHub arabiriminin ekran görüntüsü. Depo URL'si kopyalama düğmesi vurgulanır.

  2. Visual Studio Code'u açın.

  3. Terminal>Yeni Terminal'i seçerek bir Visual Studio Code terminal penceresi açın. Pencere genellikle ekranın alt kısmında açılır.

  4. Terminalde, yerel bilgisayarınızda GitHub deposunu kopyalamak istediğiniz dizine gidin. Örneğin, depoyu depolar klasöründe kopyalamak için aşağıdaki komutu çalıştırın:

    cd repositories
    
  5. Daha önce kopyaladığınız URL'yi yazın git clone ve yapıştırın. Bu url şuna benzer:

    git clone https://github.com/mygithubuser/toy-reusable.git
    
  6. Visual Studio Code terminalinde aşağıdaki komutu çalıştırarak depo klasöründe Visual Studio Code'un yeniden açılması:

    code --reuse-window toy-reusable
    

Azure'da oturum açma

Azure'da kaynak gruplarıyla çalışmak için Visual Studio Code terminalinden Azure hesabınızda oturum açın. Visual Studio Code için Azure CLI araçlarını ve Azure Hesabı uzantısını yüklediğinizden emin olun.

  1. Terminal menüsünde Yeni Terminal'i seçin. Terminal penceresi genellikle ekranınızın alt yarısında açılır.

    Varsayılan kabuk genellikle terminal penceresinin sağ tarafında gösterildiği gibi pwsh'dir.

    Pwsh'nin kabuk seçeneği olarak gösterildiği Visual Studio Code terminal penceresinin ekran görüntüsü.

  2. Profili Başlat açılan listesini ve ardından Azure Cloud Shell (Bash) öğesini seçin.

    Visual Studio Code terminal penceresinin ekran görüntüsü. Terminal kabuğu açılan listesi ve Azure Cloud Shell (Bash) menü öğesi gösterilir.

    Yeni bir kabuk açılır.

Azure CLI kullanarak Azure'da oturum açma

  1. Visual Studio Code terminalinde aşağıdaki komutu çalıştırarak Azure'da oturum açın:

    az login
    
  2. Açılan tarayıcıda Azure hesabınızda oturum açın.

Azure'da kaynak gruplarıyla çalışmak için Visual Studio Code terminalinden Azure hesabınızda oturum açın. Azure PowerShell'i ve Visual Studio Code için Azure Hesabı uzantısını yüklediğinizden emin olun.

  1. Terminal menüsünde Yeni Terminal'i seçin. Terminal penceresi genellikle ekranınızın alt yarısında açılır.

    Varsayılan kabuk genellikle terminal penceresinin sağ tarafında gösterildiği gibi pwsh'dir.

    Pwsh'nin kabuk seçeneği olarak gösterildiği Visual Studio Code terminal penceresinin ekran görüntüsü.

  2. Profili Başlat açılan listesini ve ardından Azure Cloud Shell (PowerShell) öğesini seçin.

    Visual Studio Code terminal penceresinin ekran görüntüsü. Terminal kabuğu açılan listesi ve Azure Cloud Shell (PowerShell) menü öğesi gösterilir.

    Yeni bir kabuk açılır.

Azure PowerShell kullanarak Azure’da oturum açma

  1. Visual Studio Code terminalinde aşağıdaki komutu çalıştırarak Azure'da oturum açın:

    Connect-AzAccount -UseDeviceAuthentication
    
  2. Azure hesabınızda oturum açmak için komut yönergelerini izleyin.

İş yükü kimliği oluşturma

Ardından, dağıtım iş akışınız için Microsoft Entra Id'de bir iş yükü kimliği oluşturun.

İş yükü kimliklerini oluşturmak için Azure CLI komutları JSON çıkışındaki verileri ayrıştırmak için kullanır jq . jq Yüklemediyseniz Azure Cloud Shell'de Bash kullanarak iş yükü kimliğini, kaynak grubunu ve rol atamasını oluşturabilir ve GitHub gizli dizilerini hazırlayabilirsiniz.

  1. GitHub kullanıcı adınız ve deponuzun adı için değişkenleri tanımlamak için aşağıdaki kodu çalıştırın. değerini, bu alıştırmada daha önce not ettiğiniz GitHub kullanıcı adınızla değiştirdiğinizden mygithubuser emin olun. Ayrıca, doğru GitHub deposu adını belirttiğinizden emin olun.

    githubOrganizationName='mygithubuser'
    githubRepositoryName='toy-reusable'
    
  2. Dağıtım iş akışınız için bir iş yükü kimliği oluşturun.

    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. GitHub kullanıcı adınız ve deponuzun adı için değişkenleri tanımlamak için aşağıdaki kodu çalıştırın. değerini, bu alıştırmanın önceki bölümlerinde not ettiğiniz GitHub kullanıcı adınızla değiştirdiğinizden mygithubuser emin olun. Ayrıca, doğru GitHub deposu adını belirttiğinizden emin olun.

    $githubOrganizationName = 'mygithubuser'
    $githubRepositoryName = 'toy-reusable'
    
  2. Dağıtım iş akışınız için bir iş yükü kimliği oluşturun.

    $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"
    

Azure'da kaynak grubu oluşturma ve iş yükü kimliği erişimi verme

Ardından, web siteniz için bir kaynak grubu oluşturun. Bu işlem ayrıca iş yükü kimliğine kaynak grubundaki Katkıda Bulunan rolünü verir ve bu da iş akışınızın kaynak grubuna dağıtılmasını sağlar.

Visual Studio Code terminalinde aşağıdaki Azure CLI komutlarını çalıştırın:

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

Visual Studio Code terminalinde aşağıdaki Azure PowerShell komutlarını çalıştırın:

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

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

GitHub gizli dizilerini hazırlama

GitHub gizli dizileri olarak oluşturmanız gereken değerleri göstermek için aşağıdaki kodu çalıştırın:

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)"

AZURE_CLIENT_ID için uygulama kimliği değerinizi not edin. Bu modülü tamamladığınızda kaynakları temizlerken bu değeri kullanabilirsiniz.

GitHub gizli dizileri oluşturma

Bir iş yükü kimliği ve dağıtabileceği bir kaynak grubu oluşturdunuz. Ardından GitHub Actions'da gizli diziler oluşturun.

  1. Tarayıcınızda GitHub deponuza gidin.

  2. Ayarlar>Gizli Diziler ve değişkenler Eylemler'i> seçin.

  3. Yeni depo gizli dizisi'ni seçin.

    'Gizli Diziler' sayfasını gösteren GitHub arabiriminin ekran görüntüsü. 'Yeni depo gizli dizisi' düğmesi vurgulanır.

  4. Gizli diziye AZURE_CLIENT_ID adını verin.

  5. Değer alanına, terminal çıkışının ilk satırındaki GUID'yi yapıştırın. değere , iki nokta üst üste veya boşluk eklemeyin AZURE_CLIENT_ID.

  6. Add secret (Gizli dizi ekle) öğesini seçin.

    'Yeni Gizli Dizi' sayfasını gösteren GitHub arabiriminin ekran görüntüsü. Ad ve değer girilir ve 'Gizli dizi ekle' düğmesi vurgulanır.

  7. terminal çıkışında karşılık gelen alanlardan değerleri kopyalayarak AZURE_TENANT_ID ve AZURE_SUBSCRIPTION_ID için gizli dizileri oluşturmak için işlemi yineleyin.

  8. Gizli dizi listenizin artık üç gizli diziyi de gösterdiğini doğrulayın.

    Gizli dizi listesini gösteren GitHub arabiriminin ekran görüntüsü.