Share via


Hızlı Başlangıç: Dağıtımları otomatikleştirme

Not

Azure Spring Apps, Azure Spring Cloud hizmetinin yeni adıdır. Hizmetin yeni bir adı olsa da, ekran görüntüleri, videolar ve diyagramlar gibi varlıkları güncelleştirmek için çalışırken bazı yerlerde eski adı bir süre görürsünüz.

Bu makale şunlar için geçerlidir:❌ Temel/Standart ✔️ Kurumsal

Bu hızlı başlangıçta GitHub Actions ve Terraform kullanarak Azure Spring Apps Kurumsal planına dağıtımları otomatikleştirme adımları gösterilmektedir.

Önkoşullar

  • Etkin aboneliği olan bir Azure hesabı. Ücretsiz hesap oluşturun.
  • Azure Market'da Kurumsal planın Gereksinimler bölümünü anlayın ve yerine getirin.
  • Azure CLI sürüm 2.45.0 veya üzeri.
  • Git.
  • Jq
  • Azure Spring Apps Kurumsal plan uzantısı. Önceki sürümleri kaldırmak ve en son Kurumsal plan uzantısını yüklemek için aşağıdaki komutu kullanın. Uzantıyı spring-cloud daha önce yüklediyseniz yapılandırma ve sürüm uyuşmazlıklarını önlemek için uzantıyı kaldırın.
    az extension add --upgrade --name spring
    az extension remove --name spring-cloud
    

GitHub deposu ayarlama ve kimlik doğrulaması

Örnek uygulamayla ilişkili otomasyon, Terraform durumunu korumak için bir Depolama hesabı gerektirir. Aşağıdaki adımlarda GitHub Actions ve Terraform ile kullanmak üzere bir Depolama Hesabı oluşturma adımları gösterilmektedir.

  1. Depolama Hesabını içerecek yeni bir kaynak grubu oluşturmak için aşağıdaki komutu kullanın:

    az group create \
        --name <storage-resource-group> \
        --location <location>
    
  2. Depolama Hesabı oluşturmak için aşağıdaki komutu kullanın:

    az storage account create \
        --resource-group <storage-resource-group> \
        --name <storage-account-name> \
        --location <location> \
        --sku Standard_RAGRS \
        --kind StorageV2
    
  3. Depolama Hesabı içinde bir Depolama Kapsayıcısı oluşturmak için aşağıdaki komutu kullanın:

    az storage container create \
        --resource-group <storage-resource-group> \
        --name terraform-state-container \
        --account-name <storage-account-name> \
        --auth-mode login
    
  4. Azure kimlik bilgilerini almak için aşağıdaki komutları kullanın. Azure oturum açma eylemini yetkilendirmek için bir Azure hizmet sorumlusu kimlik bilgilerine ihtiyacınız vardır.

    az login
    az ad sp create-for-rbac \
        --role contributor \
        --scopes /subscriptions/<SUBSCRIPTION_ID> \
        --json-auth
    

    Komutun bir JSON nesnesi vermesi gerekir:

    {
        "clientId": "<GUID>",
        "clientSecret": "<GUID>",
        "subscriptionId": "<GUID>",
        "tenantId": "<GUID>",
        ...
    }
    
  5. Bu örnekte GitHub'da fitness mağazası örneği kullanılmaktadır. Örneği çatallayın, GitHub deposu sayfasını açın ve ardından Ayarlar sekmesini seçin. Aşağıdaki ekran görüntüsünde gösterildiği gibi Gizli Diziler menüsünü açın, ardından Yeni gizli dizi ekle'yi seçin.

    Screenshot showing GitHub Settings Add new secret.

  6. Gizli dizi adını AZURE_CREDENTIALS olarak ayarlayın ve değerini GitHub deponuzu ayarlama ve kimlik doğrulaması başlığı altında bulduğunuz JSON dizesi olarak ayarlayın.

    Screenshot showing GitHub Settings Set secret data.

  7. GitHub Actions'a aşağıdaki gizli dizileri ekleyin:

    • TF_PROJECT_NAME: Seçtiğiniz bir değeri kullanın. Bu değer Terraform Projenizin adı olacaktır.
    • AZURE_LOCATION: Kaynaklarınızın oluşturulacağı Azure Bölgesi.
    • OIDC_JWK_SET_URI: Hızlı Başlangıç: Azure Spring Apps Enterprise planını kullanarak uygulamalar için çoklu oturum açmayı yapılandırma bölümünde tanımlanan öğesini kullanınJWK_SET_URI.
    • OIDC_CLIENT_ID: Hızlı Başlangıç: Azure Spring Apps Enterprise planını kullanarak uygulamalar için çoklu oturum açmayı yapılandırma bölümünde tanımlanan öğesini kullanınCLIENT_ID.
    • OIDC_CLIENT_SECRET: Hızlı Başlangıç: Azure Spring Apps Enterprise planını kullanarak uygulamalar için çoklu oturum açmayı yapılandırma bölümünde tanımlanan öğesini kullanınCLIENT_SECRET.
    • OIDC_ISSUER_URI: Hızlı Başlangıç: Azure Spring Apps Enterprise planını kullanarak uygulamalar için çoklu oturum açmayı yapılandırma bölümünde tanımlanan öğesini kullanınISSUER_URI.
  8. Gizli diziyi TF_BACKEND_CONFIG GitHub Actions'a aşağıdaki değerle ekleyin:

    resource_group_name  = "<storage-resource-group>"
    storage_account_name = "<storage-account-name>"
    container_name       = "terraform-state-container"
    key                  = "dev.terraform.tfstate"
    

GitHub Actions ile otomatikleştirme

Artık deponuzda GitHub Actions'ı çalıştırabilirsiniz. Sağlama iş akışı , örnek uygulamayı çalıştırmak için gereken tüm kaynakları sağlar. Aşağıdaki ekran görüntüsünde örnek çalıştırma gösterilmektedir:

Screenshot of GitHub showing output from the provision workflow.

Her uygulamada değişiklik yapıldığında uygulamayı yeniden dağıtacak bir dağıtım iş akışı vardır. Aşağıdaki ekran görüntüsünde katalog hizmetinden bazı örnek çıktılar gösterilmektedir:

Screenshot of GitHub showing output from the Deploy Catalog workflow.

Temizleme iş akışı, iş akışı tarafından provision oluşturulan tüm kaynakları silmek için el ile çalıştırılabilir. Aşağıdaki ekran görüntüsü çıktıyı gösterir:

Screenshot of GitHub showing output from the cleanup workflow.

Kaynakları temizleme

Sonraki hızlı başlangıçlar ve öğreticilerle çalışmaya devam etmek istiyorsanız, bu kaynakları yerinde bırakmak isteyebilirsiniz. Artık gerekli olmadığında kaynak grubunu silin; bu da kaynak grubundaki kaynakları siler. Azure CLI kullanarak kaynak grubunu silmek için aşağıdaki komutları kullanın:

echo "Enter the Resource Group name:" &&
read resourceGroupName &&
az group delete --name $resourceGroupName &&
echo "Press [ENTER] to continue ..."

Sonraki adımlar

Aşağıdaki isteğe bağlı hızlı başlangıçlardan herhangi birine geçin: