Aracılığıyla paylaş


Azure Container Apps'te Azure CLI ile GitHub Actions'i ayarlama

Azure Container Apps, düzeltmeleri kapsayıcı uygulamanızda yayımlamak için GitHub Actions'ı kullanmanıza olanak tanır. İşlemeler GitHub deponuza gönderildiğinde, kapsayıcı kayıt defterindeki kapsayıcı görüntüsünü güncelleştiren bir GitHub Actions iş akışı tetiklenir. Kapsayıcı kayıt defterinde güncelleştirildikten sonra Azure Container Apps güncelleştirilmiş kapsayıcı görüntüsünü temel alan yeni bir düzeltme oluşturur.

Changes to a GitHub repo trigger an action to create a new revision.

GitHub Actions iş akışı, deponuzdaki belirli bir dala yapılan işlemeler tarafından tetikler. İş akışını oluştururken eylemi tetikleyen dala karar verirsiniz.

Bu makalede, Azure CLI ile başlangıç GitHub Actions iş akışı oluşturma adımları gösterilmektedir. Tamamen özelleştirebileceğiniz kendi iş akışınızı oluşturmak için bkz . GitHub Actions ile Azure Container Apps'e dağıtma.

Kimlik Doğrulaması

GitHub Actions tümleştirmesi eklerken veya kaldırırken, GitHub kişisel erişim belirtecini geçirerek veya etkileşimli GitHub oturum açma deneyimini kullanarak kimlik doğrulaması yapabilirsiniz. Etkileşimli deneyim, web tarayıcınızda bir form açar ve Size GitHub'da oturum açma fırsatı verir. Kimlik doğrulaması başarıyla tamamlandıktan sonra, geçerli oturumun geri kalanında GitHub tarafından kullanılan CLI'ya bir belirteç geri geçirilir.

  • Kişisel erişim belirtecini geçirmek için parametresini --token kullanın ve bir belirteç değeri sağlayın.
  • Etkileşimli oturum açma bilgilerini kullanmayı seçerseniz parametresini --login-with-github değer olmadan kullanın.

Dekont

GitHub kişisel erişim belirtecinizin kapsamın workflow seçili olması gerekir.

Topla

komutu, containerapp github-action add kapsayıcı uygulamanızla bir GitHub Actions tümleştirmesi oluşturur.

Dekont

Aşağıdaki örnekle devam etmeden önce, ilk kapsayıcı uygulamanızın zaten dağıtılmış olması gerekir.

GitHub Actions'ı kapsayıcı uygulamanıza ilk kez eklediğinizde bir hizmet sorumlusu bağlamı sağlamanız gerekir. Aşağıdaki komut, bir hizmet sorumlusunun nasıl oluşturulacağını gösterir.

az ad sp create-for-rbac \
  --name <SERVICE_PRINCIPAL_NAME> \
  --role "contributor" \
  --scopes /subscriptions/<SUBSCRIPTION_ID>/resourceGroups/<RESOURCE_GROUP_NAME>

Bu örnekle etkileşim kurarken, ile çevrelenen <> yer tutucuları değerlerinizle değiştirin.

Bu komuttan döndürülen değerler hizmet sorumlusunun appId, passwordve tenantdeğerlerini içerir. Bu değerleri komutuna az containerapp github-action add geçirmeniz gerekir.

Aşağıdaki örnekte, kişisel erişim belirteci kullanırken tümleştirmenin nasıl ekleneceği gösterilmektedir.

az containerapp github-action add \
  --repo-url "https://github.com/<OWNER>/<REPOSITORY_NAME>" \
  --context-path "./dockerfile" \
  --branch <BRANCH_NAME> \
  --name <CONTAINER_APP_NAME> \
  --resource-group <RESOURCE_GROUP> \
  --registry-url <URL_TO_CONTAINER_REGISTRY> \
  --registry-username <REGISTRY_USER_NAME> \
  --registry-password <REGISTRY_PASSWORD> \
  --service-principal-client-id <appId> \
  --service-principal-client-secret <password> \
  --service-principal-tenant-id <tenant> \
  --token <YOUR_GITHUB_PERSONAL_ACCESS_TOKEN>

Bu örnekle etkileşim kurarken, ile çevrelenen <> yer tutucuları değerlerinizle değiştirin.

Göster

komutu, containerapp github-action show bir kapsayıcı uygulaması için GitHub Actions yapılandırma ayarlarını döndürür.

Bu örnekte, kişisel erişim belirtecini kullanırken tümleştirmenin nasıl ekleneceği gösterilmektedir.

az containerapp github-action show \
  --resource-group <RESOURCE_GROUP_NAME> \
  --name <CONTAINER_APP_NAME>

Bu örnekle etkileşim kurarken, ile çevrelenen <> yer tutucuları değerlerinizle değiştirin.

Bu komut, GitHub Actions tümleştirme yapılandırma ayarlarıyla bir JSON yükü döndürür.

Silme

komutu containerapp github-action delete GitHub Actions'ı kapsayıcı uygulamasından kaldırır.

az containerapp github-action delete \
  --resource-group <RESOURCE_GROUP_NAME> \
  --name <CONTAINER_APP_NAME> \
  --token <YOUR_GITHUB_PERSONAL_ACCESS_TOKEN>

Bu örnekle etkileşim kurarken, ile çevrelenen <> yer tutucuları değerlerinizle değiştirin.