Alıştırma - Ortamınızı ayarlama
Ö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:
GitHub'da oturum açma.
Bu şablonu>kullan Yeni depo oluştur'u seçin.
Sahip için GitHub hesabınızı seçin.
Yeni projeniz için oyuncak yeniden kullanılabilir gibi bir Depo adı girin.
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.
Create repository (Depo oluştur) öğesine tıklayın.
Ö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.
Kod'a tıklayın ve ardından Url'yi panoya kopyala simgesini seçin.
Visual Studio Code'u açın.
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.
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
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
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.
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.
Profili Başlat açılan listesini ve ardından Azure Cloud Shell (Bash) öğesini seçin.
Yeni bir kabuk açılır.
Azure CLI kullanarak Azure'da oturum açma
Visual Studio Code terminalinde aşağıdaki komutu çalıştırarak Azure'da oturum açın:
az login
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.
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.
Profili Başlat açılan listesini ve ardından Azure Cloud Shell (PowerShell) öğesini seçin.
Yeni bir kabuk açılır.
Azure PowerShell kullanarak Azure’da oturum açma
Visual Studio Code terminalinde aşağıdaki komutu çalıştırarak Azure'da oturum açın:
Connect-AzAccount -UseDeviceAuthentication
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.
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'
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\"]}"
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'
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.
Tarayıcınızda GitHub deponuza gidin.
Ayarlar>Gizli Diziler ve değişkenler Eylemler'i> seçin.
Yeni depo gizli dizisi'ni seçin.
Gizli diziye AZURE_CLIENT_ID adını verin.
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
.Add secret (Gizli dizi ekle) öğesini seçin.
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.
Gizli dizi listenizin artık üç gizli diziyi de gösterdiğini doğrulayın.