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

Note

Temel, Standardve Enterprise planları 17 Mart 2025'te kullanımdan kaldırma dönemine girdi. Daha fazla bilgi için, Azure Spring Apps emeklilik duyurusuna bakın.

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.

Prerequisites

  • Aktif bir aboneliğe sahip bir Azure hesabı. Ücretsiz bir hesap oluşturun.
  • 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 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 forklayın, GitHub deposu sayfasını açın ve Ayarlar sekmesini seçin. Gizli menüsünü açın ve aşağıdaki ekran görüntüsünde gösterildiği gibi Yeni gizli ekle seçeneğini işaretleyin.

    GitHub Ayarları Yeni gizli dizi ekle'yi gösteren ekran görüntüsü.

  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.

    GitHub Ayarları Gizli dizi verilerini ayarla'yı gösteren ekran görüntüsü.

  7. GitHub Actions'a şu gizli bilgileri 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: JWK_SET_URI bölümünde tanımlanan öğesini kullanın.
    • OIDC_CLIENT_ID: CLIENT_ID bölümünde tanımlanan öğesini kullanın.
    • OIDC_CLIENT_SECRET: CLIENT_SECRET bölümünde tanımlanan öğesini kullanın.
    • OIDC_ISSUER_URI: ISSUER_URI bölümünde tanımlanan öğesini kullanın.
  8. GitHub Actions'a aşağıdaki değerle gizliliği ekleyin: TF_BACKEND_CONFIG

    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:

Sağlama iş akışının çıkışını gösteren GitHub'ın ekran görüntüsü.

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:

Kataloğu Dağıt iş akışının çıkışını gösteren GitHub'ın ekran görüntüsü.

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

Temizleme iş akışının çıkışını gösteren GitHub'ın ekran görüntüsü.

Kaynakları temizle

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: