Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Bu öğreticide Azure Dağıtım Ortamlarını CI/CD işlem hattınızla tümleştirmeyi öğreneceksiniz. GitHub Actions, Azure Arc, GitLab veya Jenkins gibi CI/CD'yi destekleyen herhangi bir GitOps sağlayıcısını kullanabilirsiniz.
Sürekli tümleştirme ve sürekli teslim (CI/CD), ekiplerin yazılım değişikliklerini oluşturma, test etme ve dağıtma sürecini otomatikleştirmesine yardımcı olan bir yazılım geliştirme yaklaşımıdır. CI/CD, yazılım değişikliklerini daha sık ve daha güvenle yayınlamanızı sağlar.
Üç dal içeren bir iş akışı kullanırsınız: main, dev ve test.
- Ana dal her zaman üretim olarak kabul edilir.
- Ana daldan özellik dalları oluşturursunuz.
- Özellik dallarını main ile birleştirmek için çekme talebi oluşturursunuz.
Bu öğreticideki iş akışı basitleştirilmiş bir örnektir. Gerçek dünya iş akışları daha karmaşık olabilir.
Bu öğreticiye başlamadan önce , Azure Dağıtım Ortamları için temel kavramları gözden geçirerek Dağıtım Ortamları bileşenleri ve kavramları hakkında bilgi edinebilirsiniz.
Bu öğreticide aşağıdakilerin nasıl yapılacağını öğreneceksiniz:
- Geliştirme merkezi oluşturma ve yapılandırma
- Anahtar kasası oluştur
- GitHub deposu oluşturma ve yapılandırma
- Kataloğu geliştirme merkezinize bağlama
- Dağıtım kimliklerini yapılandırma
- GitHub ortamlarını yapılandırma
- CI/CD işlem hattını test edin
Önkoşullar
| Ürün | Gereksinimler |
|---|---|
| Gök mavisi | - Azure aboneliği. - Azure aboneliğinde sahip izinleri. - Azure CLI yüklü. |
| Git | - GitHub hesabı. - Git yüklü. |
1. Geliştirme merkezi oluşturma ve yapılandırma
Bu bölümde üç ortam türüne sahip bir Azure Dağıtım Ortamları geliştirme merkezi ve projesi oluşturacaksınız: Geliştirme, Test ve Üretim.
- Üretim ortamı türü tek bir üretim ortamını içerir.
- Geliştirme'de her özellik dalı için yeni bir ortam oluşturulur.
- Her pull isteği için Test ortamında yeni bir çevre oluşturulur.
1.1 Azure CLI'yı ayarlama
Başlamak için Azure'da oturum açın. Aşağıdaki komutu çalıştırın ve kimlik doğrulama işlemini tamamlamak için istemleri izleyin:
az login
Ardından Azure CLI için Azure devcenter uzantısını yükleyin:
az extension add --name devcenter --upgrade
Geçerli uzantı yüklendikten sonra ad alanını Microsoft.DevCenter kaydedin:
az provider register --namespace Microsoft.DevCenter
Tavsiye
Bu öğretici boyunca, daha sonra kullanmak üzere çeşitli değerleri ortam değişkenleri olarak kaydedeceksiniz. Ayrıca, gerektiğinde kullanılabilir olduklarından emin olmak için bu değerleri başka bir yere kaydetmek isteyebilirsiniz.
Kullanıcı kimliğinizi alın ve daha sonra kullanmak üzere bir ortam değişkenine ayarlayın:
MY_AZURE_ID=$(az ad signed-in-user show --query id -o tsv)
Geçerli aboneliğinizin abonelik kimliğini alın:
AZURE_SUBSCRIPTION_ID=$(az account show --query id --output tsv)
Geçerli kiracınızın kiracı ID'sini elde edin:
AZURE_TENANT_ID=$(az account show --query tenantId --output tsv)
Aşağıdaki ortam değişkenlerini ayarlayın:
LOCATION="eastus"
AZURE_RESOURCE_GROUP=<resourceGroupName>
AZURE_DEVCENTER=<devcenterName>
AZURE_PROJECT=<projectName>
AZURE_KEYVAULT=<keyVaultName>
Uyarı
Genel olarak benzersiz bir anahtar kasası adı kullanmanız gerekir. Aksi takdirde aşağıdaki hatayı alabilirsiniz:
Code: VaultAlreadyExists Message: The vault name 'mykeyvaultname' is already in use. Vault names are globally unique so it is possible that the name is already taken.
1.2 Geliştirme merkezi oluşturma
Geliştirme merkezi, benzer ayarlara sahip proje ve ortamlardan oluşan bir koleksiyondur. Geliştirme merkezleri, ortam oluşturmak için kullanılabilecek şablon ve yapıt kataloğuna erişim sağlar. Geliştirme merkezleri ayrıca ortamlara ve projelere erişimi yönetmek için bir yol sağlar.
Kaynak grubu oluşturma:
az group create \
--name $AZURE_RESOURCE_GROUP \
--location $LOCATION
Geliştirme merkezi oluşturma:
az devcenter admin devcenter create \
--name $AZURE_DEVCENTER \
--identity-type SystemAssigned \
--resource-group $AZURE_RESOURCE_GROUP \
--location $LOCATION
Önceki komut JSON çıkışını oluşturur.
id ve identity.principalId değerlerini daha sonra kullanmak üzere ortam değişkenleri olarak kaydedin.
AZURE_DEVCENTER_ID=<id>
AZURE_DEVCENTER_PRINCIPAL_ID=<identity.principalId>
1.3 Abonelikte Geliştirici Merkezi kimlik sahibi rolünü atama
Geliştirme merkezi, ortam türleriyle ilişkili aboneliklerde rol atamak için izinlere ihtiyaç duyar.
Gereksiz karmaşıklığı azaltmak için bu öğreticide geliştirme merkezi ve tüm ortam türleri için tek bir abonelik kullanacaksınız. Uygulamada geliştirme merkezi ve hedef dağıtım abonelikleri büyük olasılıkla farklı ilkeler uygulanmış ayrı abonelikler olacaktır.
az role assignment create \
--scope /subscriptions/$AZURE_SUBSCRIPTION_ID \
--role Owner \
--assignee-object-id $AZURE_DEVCENTER_PRINCIPAL_ID \
--assignee-principal-type ServicePrincipal
1.4 Ortam türlerini oluşturma
Geliştirme merkezi düzeyinde ortam türleri geliştirme ekiplerinin oluşturabileceği geliştirme, test, korumalı alan, ön üretim ve üretim gibi ortamları tanımlar.
Üç yeni ortam türü oluşturun: Geliştirme, Test ve Üretim:
az devcenter admin environment-type create \
--name Dev \
--resource-group $AZURE_RESOURCE_GROUP \
--dev-center $AZURE_DEVCENTER
az devcenter admin environment-type create \
--name Test \
--resource-group $AZURE_RESOURCE_GROUP \
--dev-center $AZURE_DEVCENTER
az devcenter admin environment-type create \
--name Prod \
--resource-group $AZURE_RESOURCE_GROUP \
--dev-center $AZURE_DEVCENTER
1.5 Proje oluşturma
Proje, geliştirme ekibinin erişim noktasıdır. Her proje bir geliştirme merkeziyle ilişkilendirilir.
Proje oluşturma:
az devcenter admin project create \
--name $AZURE_PROJECT \
--resource-group $AZURE_RESOURCE_GROUP \
--location $LOCATION \
--dev-center-id $AZURE_DEVCENTER_ID
Önceki komut JSON çıkışını oluşturur.
id Değeri daha sonra kullanmak üzere bir ortam değişkeni olarak kaydedin:
AZURE_PROJECT_ID=<id>
Projede kendinize DevCenter Proje Yöneticisi rolünü atayın:
az role assignment create \
--scope "$AZURE_PROJECT_ID" \
--role "DevCenter Project Admin" \
--assignee-object-id $MY_AZURE_ID \
--assignee-principal-type User
1.6 Proje ortamı türleri oluşturma
Proje düzeyinde, platform mühendisleri geliştirme ekibi için hangi ortam türlerinin uygun olduğunu belirtir.
Geliştirme merkezinde oluşturduğunuz ortam türlerinin her biri için yeni bir proje ortamı türü oluşturun:
az devcenter admin project-environment-type create \
--name Dev \
--roles "{\"b24988ac-6180-42a0-ab88-20f7382dd24c\":{}}" \
--deployment-target-id /subscriptions/$AZURE_SUBSCRIPTION_ID \
--resource-group $AZURE_RESOURCE_GROUP \
--location $LOCATION \
--project $AZURE_PROJECT \
--identity-type SystemAssigned \
--status Enabled
az devcenter admin project-environment-type create \
--name Test \
--roles "{\"b24988ac-6180-42a0-ab88-20f7382dd24c\":{}}" \
--deployment-target-id /subscriptions/$AZURE_SUBSCRIPTION_ID \
--resource-group $AZURE_RESOURCE_GROUP \
--location $LOCATION \
--project $AZURE_PROJECT \
--identity-type SystemAssigned \
--status Enabled
az devcenter admin project-environment-type create \
--name Prod \
--roles "{\"b24988ac-6180-42a0-ab88-20f7382dd24c\":{}}" \
--deployment-target-id /subscriptions/$AZURE_SUBSCRIPTION_ID \
--resource-group $AZURE_RESOURCE_GROUP \
--location $LOCATION \
--project $AZURE_PROJECT \
--identity-type SystemAssigned \
--status Enabled
2. Anahtar kasası oluşturun
Bu bölümde yeni bir anahtar kasası oluşturacaksınız. Eğitimin ilerleyen bölümlerinde GitHub'dan kişisel erişim belirtecini kaydetmek için bu anahtar kasasını kullanacaksınız.
az keyvault create \
--name $AZURE_KEYVAULT \
--resource-group $AZURE_RESOURCE_GROUP \
--location $LOCATION \
--enable-rbac-authorization true
Bir kez daha, önceki komutun JSON çıkışındaki öğesini ortam değişkeni olarak kaydedin id :
AZURE_KEYVAULT_ID=<id>
Kendinize yeni anahtar kasasında Anahtar Kasası Yöneticisi rolünü verin.
az role assignment create \
--scope $AZURE_KEYVAULT_ID \
--role "Key Vault Administrator" \
--assignee-object-id $MY_AZURE_ID \
--assignee-principal-type User
Geliştirme merkezinin kimliğine Key Vault Gizli Anahtarlar Kullanıcısı rolünü atayın.
az role assignment create \
--scope $AZURE_KEYVAULT_ID \
--role "Key Vault Secrets User" \
--assignee-object-id $AZURE_DEVCENTER_PRINCIPAL_ID \
--assignee-principal-type ServicePrincipal
3. GitHub deposu oluşturma ve yapılandırma
Bu bölümde, kataloğu depolamak için yeni bir GitHub deposu oluşturacaksınız. Azure Dağıtım Ortamları hem GitHub hem de Azure DevOps depolarını destekler. Bu öğreticide GitHub'ı kullanacaksınız.
3.1 GitHub deposu oluşturma
Bu adımda GitHub hesabınızda önceden tanımlanmış dizin yapısı, dalları ve dosyaları olan yeni bir depo oluşturacaksınız. Bu öğeler örnek şablon deposundan oluşturulur.
Örnek şablondan yeni bir GitHub deposu oluşturun:
Ücretli bir GitHub hesabınız yoksa deponuzu Genel olarak ayarlayın.
Depo oluşturseçin.
3.2 Deponun ana şubesini koruma
Dal koruma kurallarını ayarlayarak önemli dalları koruyabilirsiniz. Koruma kuralları, katılımcıların bir dalı silip silemeyeceğini veya dala zorla gönderme yapıp yapamayacağını tanımlar. Dalına yapılan gönderimler için, durum denetimlerini geçme veya doğrusal işlem geçmişini uygulama gibi gereksinimleri de ayarlarlar.
Uyarı
Korumalı dallar GitHub Free ve GitHub Free ile kuruluşlar için genel depolarda ve GitHub Pro, GitHub Team, GitHub Enterprise Cloud ve GitHub Enterprise Server ile genel ve özel depolarda kullanılabilir. Daha fazla bilgi için bkz. GitHub planları.
Henüz açık değilse deponuzun ana sayfasına gidin.
Pencerenin üst kısmındaki menüden Ayarlar'ı seçin:
Sol kenar çubuğunun Kod ve otomasyon bölümünde Dallar'ı seçin:
Dal koruma kuralları'nın altında Dal kural kümesi ekle'yi seçin:
Yeni dal kural kümesi sayfasındaki Kural Kümesi Adı alanına CI-CD-tutorial-ruleset girin:
Hedef dallar'ın altında Hedef ekle'yi seçin ve ardından Varsayılan dalı ekle veya Tüm dalları ekle'yi seçin:
Dal kuralları'nın altında Birleştirmeden önce çekme isteği iste'yi seçin:
İsteğe bağlı olarak , daha fazla koruma kuralı etkinleştirebilirsiniz.
Oluştur'i seçin.
3.3 Depo değişkenlerini yapılandırma
Kenar çubuğunun Güvenlik bölümünde Gizli diziler ve değişkenler'i ve ardından Eylemler'i seçin:
Değişkenler sekmesini seçin.
Aşağıdaki tablodaki her öğe için:
- Yeni depo değişkeni'ni seçin.
- Ad alanına değişken adını girin.
- Değer alanına tabloda açıklanan değeri girin.
- Değişken ekle'yi seçin.
Değişken adı Değişken değeri AZURE_DEVCENTER Geliştirme merkezi adınız AZURE_PROJECT Projenizin adı Azure_Katalog Ortamlar olarak ayarla AZURE_KATALOĞU_ÖĞESİ FunctionApp olarak ayarla AZURE_ABONELİK_KİMLİĞİ Azure abonelik kimliğiniz AZURE_TENANT_ID Azure kiracı kimliğiniz
3.4 GitHub kişisel erişim belirteci oluşturma
Ardından Azure Dağıtım Ortamları geliştirme merkezinizin deponuza bağlanmasına ve ortam kataloğunu kullanmasına olanak tanımak için ayrıntılı bir kişisel erişim belirteci oluşturun.
Uyarı
Geri bildirim tartışmasında ayrıntılı kişisel erişim belirteçleri hakkında geri bildirim bırakabilirsiniz.
GitHub.com herhangi bir sayfanın sağ üst köşesinde profil fotoğrafınızı ve ardından Ayarlar'ı seçin.
Sol kenar çubuğunda Geliştirici ayarları'nı seçin.
Sol kenar çubuğundaki Kişisel erişim belirteçleri altında İnce belirteçler'i ve ardından Yeni belirteç oluştur'u seçin:
Yeni ayrıntılı kişisel erişim belirteci sayfasında, Belirteç adı'nın altında belirteç için bir ad girin.
Süre sonu bölümünde belirteç için bir süre sonu seçin.
Kaynak sahibi'nin altında GitHub kullanıcı adınızı seçin.
Depo erişimi'nin altında Yalnızca depoları seçin'i seçin. Seçili depolar'ın altında, oluşturduğunuz depoyu arayın ve seçin:
İzinler'in altında Depo izinleri'ni seçin ve ardından İçerikler'iSalt okunur olarak değiştirin:
Belirteç oluştur'a tıklayın.
Kişisel erişim belirtecinizi kopyalayın ve kaydedin. Yeniden görüntüleyemezsiniz.
3.5 Kişisel erişim belirtecinizi anahtar kasasına kaydedin
Ardından, kişisel erişim belirtecini pat adlı bir anahtar kasası sırrı olarak kaydedin.
az keyvault secret set \
--name pat \
--vault-name $AZURE_KEYVAULT \
--value <personalAccessToken>
4. Kataloğu geliştirme merkezinize bağlama
Azure Dağıtım Ortamları'nda katalog , bir dizi ortam tanımı içeren bir depodur. Katalog öğeleri, kod olarak altyapı (IaC) şablonundan ve bildirim işlevi gören bir ortam dosyasından oluşur. Şablon ortamı tanımlar ve ortam dosyası şablon hakkında meta veriler sağlar. Geliştirme ekipleri, ortam oluşturmak için katalogdaki ortam tanımlarını kullanır.
GitHub deponuzu oluşturmak için kullandığınız şablon , Ortamlar klasöründe bir katalog içerir.
Kataloğu geliştirme merkezinize ekleme
Aşağıdaki komutta < Organization/Repository > yerine GitHub kuruluşunuzun ve deponuzun ismini yazın:
az devcenter admin catalog create \
--name Environments \
--resource-group $AZURE_RESOURCE_GROUP \
--dev-center $AZURE_DEVCENTER \
--git-hub path="/Environments" branch="main" secret-identifier="https://$AZURE_KEYVAULT.vault.azure.net/secrets/pat" uri="https://github.com/< Organization/Repository >.git"
5. Dağıtım kimliklerini yapılandırma
GitHub Actions ile OpenID Connect , sağlamlaştırılmış güvenlik sağlamak için kısa ömürlü belirteçler kullanan bir kimlik doğrulama yöntemidir. Azure'da GitHub Actions'ın kimliğini doğrulamak için önerilen yöntemdir.
Ayrıca bir gizli dizi kullanarak hizmet sorumlusunun kimliğini doğrudan doğrulayabilirsiniz, ancak bu öğreticinin kapsamı dışındadır.
5.1 Dağıtım kimliklerini oluşturun
Üç ortam türünün her biri için Microsoft Entra uygulamalarını ve hizmet sorumlularını kaydedin.
Microsoft Entra uygulamasını Dev için oluşturun:
az ad app create --display-name "$AZURE_PROJECT-Dev"Bu komut, Graph API ile federasyon kimlik bilgileri oluştururken kullandığınız bir
idve birappId(ayrıca istemci kimliği olarak da adlandırılır) ile JSON çıktısı sağlar.Aşağıdaki ortam değişkenlerini ayarlayın:
DEV_AZURE_CLIENT_ID=<appId> DEV_APPLICATION_ID=<id>Test için şu adımları yineleyin:
az ad app create --display-name "$AZURE_PROJECT-Test"TEST_AZURE_CLIENT_ID=<appId> TEST_APPLICATION_ID=<id>Prod için adımları tekrarlayın:
az ad app create --display-name "$AZURE_PROJECT-Prod"PROD_AZURE_CLIENT_ID=<appId> PROD_APPLICATION_ID=<id>Her uygulama için bir hizmet sorumlusu oluşturun.
Dev için yeni bir hizmet sorumlusu oluşturmak için aşağıdaki komutu çalıştırın:
az ad sp create --id $DEV_AZURE_CLIENT_IDBu komut, sonraki adımda kullanılacak farklı
idbir JSON çıkışı oluşturur.Aşağıdaki ortam değişkenini ayarlayın:
DEV_SERVICE_PRINCIPAL_ID=<id>Test için şu adımları yineleyin:
az ad sp create --id $TEST_AZURE_CLIENT_IDTEST_SERVICE_PRINCIPAL_ID=<id>Prod için adımları tekrarlayın:
az ad sp create --id $PROD_AZURE_CLIENT_IDPROD_SERVICE_PRINCIPAL_ID=<id>Her Microsoft Entra uygulaması için yeni bir federasyon kimliği kimlik bilgisi oluşturmak için aşağıdaki komutları çalıştırın.
Aşağıdaki üç komutun her birinde
< Organization/Repository >öğesini kendi GitHub kuruluşunuzun ve depo adınızla değiştirin.Dev için federasyon kimliği kimlik bilgilerini oluşturun:
az rest --method POST \ --uri "https://graph.microsoft.com/beta/applications/$DEV_APPLICATION_ID/federatedIdentityCredentials" \ --body '{"name":"ADEDev","issuer":"https://token.actions.githubusercontent.com","subject":"repo:< Organization/Repository >:environment:Dev","description":"Dev","audiences":["api://AzureADTokenExchange"]}'Test için kimlik bilgilerini oluşturun:
az rest --method POST \ --uri "https://graph.microsoft.com/beta/applications/$TEST_APPLICATION_ID/federatedIdentityCredentials" \ --body '{"name":"ADETest","issuer":"https://token.actions.githubusercontent.com","subject":"repo:< Organization/Repository >:environment:Test","description":"Test","audiences":["api://AzureADTokenExchange"]}'Prod için kimlik bilgilerini oluşturun:
az rest --method POST \ --uri "https://graph.microsoft.com/beta/applications/$PROD_APPLICATION_ID/federatedIdentityCredentials" \ --body '{"name":"ADEProd","issuer":"https://token.actions.githubusercontent.com","subject":"repo:< Organization/Repository >:environment:Prod","description":"Prod","audiences":["api://AzureADTokenExchange"]}'
5.2 Dağıtım kimliklerine rol atama
Her dağıtım kimliğine projedeki Okuyucu rolünü atayın:
az role assignment create \ --scope "$AZURE_PROJECT_ID" \ --role Reader \ --assignee-object-id $DEV_SERVICE_PRINCIPAL_ID \ --assignee-principal-type ServicePrincipalaz role assignment create \ --scope "$AZURE_PROJECT_ID" \ --role Reader \ --assignee-object-id $TEST_SERVICE_PRINCIPAL_ID \ --assignee-principal-type ServicePrincipalaz role assignment create \ --scope "$AZURE_PROJECT_ID" \ --role Reader \ --assignee-object-id $PROD_SERVICE_PRINCIPAL_ID \ --assignee-principal-type ServicePrincipalDağıtım Ortamları Kullanıcı rolünü her dağıtım kimliğinin ilgili ortam türüne atayın:
az role assignment create \ --scope "$AZURE_PROJECT_ID/environmentTypes/Dev" \ --role "Deployment Environments User" \ --assignee-object-id $DEV_SERVICE_PRINCIPAL_ID \ --assignee-principal-type ServicePrincipalaz role assignment create \ --scope "$AZURE_PROJECT_ID/environmentTypes/Test" \ --role "Deployment Environments User" \ --assignee-object-id $TEST_SERVICE_PRINCIPAL_ID \ --assignee-principal-type ServicePrincipalaz role assignment create \ --scope "$AZURE_PROJECT_ID/environmentTypes/Prod" \ --role "Deployment Environments User" \ --assignee-object-id $PROD_SERVICE_PRINCIPAL_ID \ --assignee-principal-type ServicePrincipal
6. GitHub ortamlarını yapılandırma
GitHub ortamlarıyla, koruma kuralları ve gizlilerle ortamları yapılandırabilirsiniz. Bir ortamı referans alan iş akışı görevi, ortamın gizli bilgilerini çalıştırmadan önce veya erişmeden önce ortam için herhangi bir koruma kuralına uymalıdır.
Azure Dağıtım Ortamları projesindeki ortam türlerine eşlenen Geliştirme, Test ve Üretim ortamları oluşturun.
Uyarı
Ortamlar, ortam sırları ve ortam koruma ölçütleri tüm ürünler için genel depolarda bulunmaktadır. Özel veya iç depolardaki ortamlara, ortam gizli dizilerine ve dağıtım dallarına erişmek için GitHub Pro, GitHub Team veya GitHub Enterprise kullanmanız gerekir. Özel veya iç depolardaki diğer ortam koruma kurallarına erişmek için GitHub Enterprise'ı kullanmanız gerekir. Daha fazla bilgi için bkz. GitHub planları.
6.1 Geliştirme ortamını oluşturma
GitHub'da deponuzun ana sayfasına gidin.
Deponuzun adının altında Ayarlar'ı seçin. Ayarlar sekmesini göremiyorsanız... açılan menüsünü ve ardından Ayarlar'ı seçin.
Sol kenar çubuğunda Ortamlar'ı seçin.
Yeni ortam'ı seçin, ortam adı olarak Dev yazın ve ardından Ortamı yapılandır'ı seçin:
Ortam gizli anahtarları altında Ortam gizli anahtarı ekle'yi seçin ve Ad kutusuna AZURE_CLIENT_ID girin.
Değer kutusuna, daha önce oluşturduğunuz
appIdMicrosoft Entra uygulamasının istemci kimliğini () girin (ortam değişkeni olarak$DEV_AZURE_CLIENT_IDkaydedilir):Gizli eklemek içinseçin.
6.2 Test ortamını oluşturma
Sol kenar çubuğunda Ortamlar'ı seçerek ana ortamlar sayfasına dönün.
Yeni ortam'ı seçin, ortam adı için Test yazın ve ardından Ortamı yapılandır'ı seçin.
Ortam gizli anahtarları altında Ortam gizli anahtarı ekle'yi seçin ve Ad kutusuna AZURE_CLIENT_ID girin.
Değer kutusuna, daha önce oluşturduğunuz
appIdMicrosoft Entra uygulamasının istemci kimliğini () girin (ortam değişkeni olarak$TEST_AZURE_CLIENT_IDkaydedilir).Gizli eklemek içinseçin.
6.3 Prod ortamını oluşturma
Bir kez daha sol kenar çubuğunda Ortamlar'ı seçerek ana ortamlar sayfasına dönün.
Yeni ortam'ı seçin, ortam adı olarak Prod yazın ve ardından Ortamı yapılandır'ı seçin.
Ortam gizli anahtarları altında Ortam gizli anahtarı ekle'yi seçin ve Ad kutusuna AZURE_CLIENT_ID girin.
Değer kutusuna, daha önce oluşturduğunuz
appIdMicrosoft Entra uygulamasının istemci kimliğini () girin (ortam değişkeni olarak$PROD_AZURE_CLIENT_IDkaydedilir).Gizli eklemek içinseçin.
Ardından, bu ortam için kendinizi zorunlu değerlendirici olarak ayarlayın. Prod'a dağıtma girişiminde bulunulduğunda GitHub Actions başlamadan önce onay bekler. Onay bekleyen bir işin durumu Bekliyor olur. Bir iş 30 gün içinde onaylanmamışsa otomatik olarak başarısız olur.
Ortamlar ve gerekli onaylar hakkında daha fazla bilgi için bkz. Dağıtım için ortamları kullanma.
Gerekli gözden geçirenler'i seçin.
GitHub kullanıcı adınızı arayın ve seçin. En fazla altı kişi veya ekip girebilirsiniz. Devam etmesi için gerekli gözden geçirenlerden yalnızca birinin işi onaylaması gerekir.
Koruma kurallarını kaydet seçin.
Son olarak, dağıtım dalı olarak yapılandırın main :
Dağıtım dalları ve etiketler listesinde Seçili dallar ve etiketler'i seçin.
Dağıtım dalı veya etiket kuralı ekle seçeneğini seçin, Başvuru türü: Dal'ın seçili olduğundan emin olun ve Ad deseni kutusuna main girin.
Kural ekle'yi seçin.
7. CI/CD işlem hattını test edin
Bu bölümde, depoda bazı değişiklikler yapın ve CI/CD işlem hattını test edin.
7.1 Depoyu kopyalama
Git Bash'te deponuzu yerel olarak kopyalamak istediğiniz klasöre geçmek için kullanın
cd.Depoyu kopyalayın. Aşağıdaki komutta
< Organization/Repository >değerini GitHub kuruluşunuzun ve deponuzun adıyla değiştirmeyi unutmayın.git clone https://github.com/< Organization/Repository >.gitKopyalanan dizine gidin:
cd <repository>Yeni bir dal oluşturun ve uzaktan yayımlayın:
git checkout -b feature1git push -u origin feature1Bu dala özgü yeni bir ortam Azure'da oluşturulur.
GitHub'da yeni oluşturduğunuz deponuzun ana sayfasına gidin.
Deponuzun adının altında Eylemler'i seçin:
Yeni bir Ortam Oluştur iş akışının çalıştığını görmeniz gerekir.
7.2 Kodda değişiklik yapma
Yerel olarak kopyalanan depoyu Visual Studio Code'da açın.
ADE.Tutorial klasöründe bir dosyayı değiştirin.
Değişikliğinizi kaydedin.
7.3 Ortamı güncellemek için değişikliklerinizi gönderin
Değişikliklerinizi sahneleyin ve
feature1dalına gönderin.git add . git commit -m '<commit message>' git pushDeponuzun Eylemler sayfasında yeni bir Güncelleştirme Ortamı iş akışının çalıştığını görürsünüz.
7.4 Çekme isteği oluşturma
GitHub çekme isteği
main <- feature1oluşturun.Deponuzun Eylemler sayfasında, çekme isteğine özgü bir ortam oluşturmak için yeni bir iş akışının başlatıldığını görürsünüz. Test ortamı türü kullanılır.
7.5 Çekme isteğini birleştirme
GitHub'da oluşturduğunuz pull request'e gidin.
Pull isteğini birleştirin.
Değişiklikleriniz üretim ortamında yayımlanır ve dal ve çekme isteği ortamları silinir.
Kaynakları temizleme
Oluşturduğunuz kaynaklardan hiçbirini kullanmayı planlamıyorsanız, daha fazla ücret ödememek için bunları silin. Örnek uygulamayı farklı bir kaynak grubuna dağıttıysanız aşağıdaki adımları tekrarlamak isteyebilirsiniz.
Azure portalını kullanarak kaynakları silmek için:
Sol üst köşedeki menü düğmesini ve ardından Kaynak grupları'nı seçin.
Listeden, oluşturduğunuz kaynak grubunu seçin.
Kaynak grubunu sil'i seçin.
Kaynak grubu adını girin. Ardından Sil'i seçin.
Azure CLI kullanarak kaynakları silmek için aşağıdaki komutu girin:
az group delete --name <my-dev-center-rg>
Kaynak grubunu sildiğinizde içindeki tüm kaynakların silineceği unutmayın.