HPC çözümü derlemek ve dağıtmak için Azure Pipelines'ı kullanma

Azure DevOps araçları, Azure Batch yüksek performanslı bilgi işlem (HPC) çözümleri oluşturma ve test etme işlemlerini otomatikleştirebilir. Azure Pipelines , yazılım oluşturma, dağıtma, test etme ve izleme için modern sürekli tümleştirme (CI) ve sürekli dağıtım (CD) işlemleri sağlar. Bu işlemler yazılım tesliminizi hızlandırarak altyapıyı ve işlemleri desteklemek yerine kodunuz üzerinde odaklanmanızı sağlar.

Bu makalede, Azure Batch'te HPC çözümlerini dağıtmak için Azure Pipelines'ı Azure Resource Manager şablonlarıyla (ARM şablonları) kullanarak CI/CD işlemlerinin nasıl ayarlanacağı gösterilmektedir. Örnek, Bir Azure Batch altyapısı dağıtmak ve bir uygulama paketi yayınlamak için bir derleme ve yayın işlem hattı oluşturur. Kodun yerel olarak geliştirildiğinden, aşağıdaki diyagramda genel dağıtım akışı gösterilmektedir:

İşlem hattındaki dağıtım akışını gösteren diyagram.

Önkoşullar

Bu makaledeki adımları izlemek için şunlar gerekir:

Çözümü hazırlama

Bu makaledeki örnekte çeşitli ARM şablonları ve mevcut bir açık kaynak video işleme uygulaması olan FFmpeg kullanılır. Bu kaynakları kopyalayıp indirebilir ve Azure Repos deponuza gönderebilirsiniz.

Önemli

Bu örnekte Windows tabanlı Batch düğümlerinde Windows yazılımı dağıtılır. Azure Pipelines, ARM şablonları ve Batch, Linux yazılımlarını ve düğümlerini de tam olarak destekler.

ARM şablonlarını anlama

Birimlere veya modüllere benzer üç özellik şablonu belirli işlev parçalarını uygular. Uçtan uca çözüm şablonu, temel alınan yetenek şablonlarını dağıtır. Bu bağlantılı şablon yapısı , her yetenek şablonunun tek tek test edilmesini ve çözümler arasında yeniden kullanılmasını sağlar.

ARM şablonları kullanılarak bağlantılı şablon yapısını gösteren diyagram.

Şablonlar hakkında ayrıntılı bilgi için bkz. Microsoft.Batch kaynak türleri için Resource Manager şablon başvuru kılavuzu.

Depolama hesabı şablonu

Aşağıdaki kodu storageAccount.jsonadlı bir dosya olarak kaydedin. Bu şablon, uygulamayı Batch hesabına dağıtmak için gereken bir Azure Depolama hesabı tanımlar.

{
    "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
    "contentVersion": "1.0.0.0",
    "parameters": {
        "accountName": {
            "type": "string",
            "metadata": {
                 "description": "Name of the Azure Storage Account"
             }
         }
    },
    "variables": {},
    "resources": [
        {
            "type": "Microsoft.Storage/storageAccounts",
            "name": "[parameters('accountName')]",
            "sku": {
                "name": "Standard_LRS"
            },
            "apiVersion": "2018-02-01",
            "location": "[resourceGroup().location]",
            "properties": {}
        }
    ],
    "outputs": {
        "blobEndpoint": {
          "type": "string",
          "value": "[reference(resourceId('Microsoft.Storage/storageAccounts', parameters('accountName'))).primaryEndpoints.blob]"
        },
        "resourceId": {
          "type": "string",
          "value": "[resourceId('Microsoft.Storage/storageAccounts', parameters('accountName'))]"
        }
    }
}

Batch hesabı şablonu

Aşağıdaki kodu batchAccount.jsonadlı bir dosya olarak kaydedin. Bu şablon bir Batch hesabı tanımlar. Batch hesabı, düğüm havuzları arasında uygulamaları çalıştırmak için bir platform görevi görür.

{
    "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
    "contentVersion": "1.0.0.0",
    "parameters": {
        "batchAccountName": {
           "type": "string",
           "metadata": {
                "description": "Name of the Azure Batch Account"
            }
        },
        "storageAccountId": {
           "type": "string",
           "metadata": {
                "description": "ID of the Azure Storage Account"
            }
        }
    },
    "variables": {},
    "resources": [
        {
            "name": "[parameters('batchAccountName')]",
            "type": "Microsoft.Batch/batchAccounts",
            "apiVersion": "2017-09-01",
            "location": "[resourceGroup().location]",
            "properties": {
              "poolAllocationMode": "BatchService",
              "autoStorage": {
                  "storageAccountId": "[parameters('storageAccountId')]"
              }
            }
          }
    ],
    "outputs": {}
}

Toplu iş havuzu şablonu

Aşağıdaki kodu batchAccountPool.jsonadlı bir dosya olarak kaydedin. Bu şablon, Batch hesabında bir düğüm havuzu ve düğüm noktaları oluşturur.

{
    "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
    "contentVersion": "1.0.0.0",
    "parameters": {
        "batchAccountName": {
           "type": "string",
           "metadata": {
                "description": "Name of the Azure Batch Account"
           }
        },
        "batchAccountPoolName": {
            "type": "string",
            "metadata": {
                 "description": "Name of the Azure Batch Account Pool"
             }
         }
    },
    "variables": {},
    "resources": [
        {
            "name": "[concat(parameters('batchAccountName'),'/', parameters('batchAccountPoolName'))]",
            "type": "Microsoft.Batch/batchAccounts/pools",
            "apiVersion": "2017-09-01",
            "properties": {
                "deploymentConfiguration": {
                    "virtualMachineConfiguration": {
                        "imageReference": {
                            "publisher": "MicrosoftWindowsServer",
                            "offer": "WindowsServer",
                            "sku": "2022-datacenter",
                            "version": "latest"
                        },
                        "nodeAgentSkuId": "batch.node.windows amd64"
                    }
                },
                "vmSize": "Standard_D2s_v3"
            }
          }
    ],
    "outputs": {}
}

Orchestrator şablonu

Aşağıdaki kodu deployment.jsonadlı bir dosya olarak kaydedin. Bu nihai şablon, üç alttaki yetenek şablonunu dağıtmak için bir orkestratör görevi görür.

{
    "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
    "contentVersion": "1.0.0.0",
    "parameters": {
        "StorageContainerUri": {
           "type": "string",
           "metadata": {
                "description": "URI of the Blob Storage Container containing the Azure Resource Manager templates"
            }
        },
        "StorageContainerSasToken": {
           "type": "string",
           "metadata": {
                "description": "The SAS token of the container containing the Azure Resource Manager templates"
            }
        },
        "applicationStorageAccountName": {
            "type": "string",
            "metadata": {
                 "description": "Name of the Azure Storage Account"
            }
         },
        "batchAccountName": {
            "type": "string",
            "metadata": {
                 "description": "Name of the Azure Batch Account"
            }
         },
         "batchAccountPoolName": {
             "type": "string",
             "metadata": {
                  "description": "Name of the Azure Batch Account Pool"
              }
          }
    },
    "variables": {},
    "resources": [
        {
            "apiVersion": "2017-05-10",
            "name": "storageAccountDeployment",
            "type": "Microsoft.Resources/deployments",
            "properties": {
                "mode": "Incremental",
                "templateLink": {
                  "uri": "[concat(parameters('StorageContainerUri'), 'arm-templates/storageAccount.json', parameters('StorageContainerSasToken'))]",
                  "contentVersion": "1.0.0.0"
                },
                "parameters": {
                    "accountName": {"value": "[parameters('applicationStorageAccountName')]"}
                }
            }
        },
        {
            "apiVersion": "2017-05-10",
            "name": "batchAccountDeployment",
            "type": "Microsoft.Resources/deployments",
            "dependsOn": [
                "storageAccountDeployment"
            ],
            "properties": {
                "mode": "Incremental",
                "templateLink": {
                  "uri": "[concat(parameters('StorageContainerUri'), 'arm-templates/batchAccount.json', parameters('StorageContainerSasToken'))]",
                  "contentVersion": "1.0.0.0"
                },
                "parameters": {
                    "batchAccountName": {"value": "[parameters('batchAccountName')]"},
                    "storageAccountId": {"value": "[reference('storageAccountDeployment').outputs.resourceId.value]"}
                }
            }
        },
        {
            "apiVersion": "2017-05-10",
            "name": "poolDeployment",
            "type": "Microsoft.Resources/deployments",
            "dependsOn": [
                "batchAccountDeployment"
            ],
            "properties": {
                "mode": "Incremental",
                "templateLink": {
                  "uri": "[concat(parameters('StorageContainerUri'), 'arm-templates/batchAccountPool.json', parameters('StorageContainerSasToken'))]",
                  "contentVersion": "1.0.0.0"
                },
                "parameters": {
                    "batchAccountName": {"value": "[parameters('batchAccountName')]"},
                    "batchAccountPoolName": {"value": "[parameters('batchAccountPoolName')]"}
                }
            }
        }
    ],
    "outputs": {}
}

Deponuzu ayarlama

ARM şablonlarını, FFmpeg uygulamasını ve YAML derleme tanımı dosyasını Azure Repos deponuza yükleyin.

  1. Dört ARM şablonunu deponuzdaki bir arm-templates klasörüne yükleyin.

  2. Uygulama paketi için FFmpeg 4.3.1'in Windows 64 bit sürümünü indirip ayıklayın ve deponuzdaki bir hpc-application klasörüne yükleyin.

  3. Derleme tanımı için aşağıdaki tanımı hpc-app.build.yml adlı bir dosya olarak kaydedin ve deponuzdaki bir işlem hattı klasörüne yükleyin.

    # To publish an application into Batch, you need to
    # first zip the file, and then publish an artifact, so
    # you can take the necessary steps in your release pipeline.
    steps:
    # First, zip up the files required in the Batch account.
    # For this instance, those are the ffmpeg files.
    - task: ArchiveFiles@2
      displayName: 'Archive applications'
      inputs:
        rootFolderOrFile: hpc-application
        includeRootFolder: false
        archiveFile: '$(Build.ArtifactStagingDirectory)/package/$(Build.BuildId).zip'
    # Publish the zip file, so you can use it as part
    # of your Release pipeline later.
    - task: PublishPipelineArtifact@0
      inputs:
        artifactName: 'hpc-application'
        targetPath: '$(Build.ArtifactStagingDirectory)/package'
    

Deponuzu ayarlamayı bitirdiğinizde, klasör yapısı aşağıdaki ana bölümlere sahip olmalıdır:

  • ARM şablonlarını içeren arm-templates klasörü.
  • ffmpeg içeren bir hpc-application klasörü.
  • Derleme hattı için YAML derleme tanım dosyasını içeren bir işlem hatları klasörü.

Depo yapısının ekran görüntüsü.

Uyarı

Bu örnek kod tabanı yapısı, uygulama, altyapı ve işlem hattı kodunu aynı depoda depolayabileceğinizi gösterir.

Azure işlem hattını oluşturma

Kaynak kod deposunu ayarladıktan sonra, uygulamanız için derleme, test ve dağıtım işlem hattı uygulamak üzere Azure Pipelines'ı kullanın. İşlem hattının bu aşamasında genellikle kodu doğrulamak ve yazılımın parçalarını derlemek için testler çalıştırırsınız. Testlerin sayısı ve türleri ve çalıştırdığınız diğer görevler, genel derleme ve sürüm stratejinize bağlıdır.

Derleme işlem hattını oluştur

Bu bölümde Batch hesabında çalışan ffmpeg yazılımıyla çalışmak için bir YAML derleme işlem hattı oluşturacaksınız.

  1. Azure DevOps projenizde sol gezinti bölmesinde İşlem hatları'nı ve ardından Yeni işlem hattı'nı seçin.

  2. Kodunuz nerede ekranında Azure Repos Git'i seçin.

    Yeni işlem hattı ekranının ekran görüntüsü.

  3. Bir depo seçin ekranında deponuzu seçin.

    Uyarı

    Görsel tasarımcı kullanarak da derleme işlem hattı oluşturabilirsiniz. Yeni işlem hattı sayfasında Klasik düzenleyiciyi kullan'ı seçin. Görsel tasarımcıda YAML şablonu kullanabilirsiniz. Daha fazla bilgi için bkz. Klasik işlem hattınızı tanımlama.

  4. İşlem hattınızı yapılandırın ekranında Mevcut Azure Pipelines YAML dosyası'nı seçin.

  5. Var olan bir YAML dosyası seçin ekranında deponuzdan hpc-app.build.yml dosyasını seçin ve ardından Devam'ı seçin.

  6. İşlem hattı YAML'nizi gözden geçirin ekranında derleme yapılandırmasını gözden geçirin ve çalıştır'ı seçin veya Çalıştır'ın yanındaki açılan menü işaretini seçip Kaydet'i seçin. Bu şablon sürekli tümleştirmeyi etkinleştirir, bu yüzden depoya yeni bir işleme, yapı için ayarlanan koşulları karşıladığında derleme otomatik olarak tetiklenir.

    Mevcut Derleme işlem hattının ekran görüntüsü.

  7. Canlı derleme ilerleme güncellemelerini izleyebilirsiniz. Derleme sonuçlarını görmek için Azure Pipelines'da derleme tanımınızdan uygun çalıştırmayı seçin.

    Azure Pipelines'da derlemeden canlı çıktıların ekran görüntüsü.

Uyarı

HPC çözümünüzü çalıştırmak için bir istemci uygulaması kullanıyorsanız, bu uygulama için ayrı bir derleme tanımı oluşturmanız gerekir. Nasıl yapılır kılavuzları için Azure Pipelines belgelerine bakın.

Yayın işlem hattını oluşturma

Uygulamanızı ve temel alınan altyapıyı dağıtmak için bir Azure Pipelines Yayın işlem hattı kullanırsınız. Yayın işlem hatları CD'yi etkinleştirir ve yayın sürecinizi otomatikleştirir. Uygulamanızı ve temel alınan altyapıyı dağıtmak için birkaç adım vardır.

Bu çözüm için bağlantılı şablonlara genel http veya HTTPS uç noktasından erişilebilir olmalıdır. Bu uç nokta bir GitHub deposu, Azure Blob Depolama hesabı veya başka bir depolama konumu olabilir. Yüklenen şablon öğelerinin güvenli kalmasını sağlamak için bunları özel modda tutun, ancak bir paylaşılan erişim imzası (SAS) belirteci kullanarak erişim sağlayın.

Aşağıdaki örnekte, Azure Depolama blobundaki şablonları kullanarak bir altyapı ve uygulamanın nasıl dağıtılacağı gösterilmektedir.

İşlem hattını ayarla

  1. Azure DevOps projenizde sol gezinti bölmesinde İşlem Hatları>, ardından Yayınlar'ı seçin.

  2. Sonraki ekranda Yeni>Yeni sürüm hattı'nı seçin.

  3. Şablon seçin ekranında boş iş'i seçin ve ardından Aşama ekranını kapatın.

  4. Sayfanın üst kısmındaki Yeni yayın işlem hattı'nı seçin ve işlem hattını Azure Batch + Havuz Dağıtma gibi işlem hattınızla ilgili bir şekilde yeniden adlandırın.

    İlk yayın işlem hattının ekran görüntüsü.

  5. Yapıtlar bölümünde Ekle'yi seçin.

  6. Yapıt ekle ekranında Derle'yi seçin ve ardından DERLEME işlem hattınızı seçerek HPC uygulamasının çıkışını alın.

    Uyarı

    Bir Kaynak diğer adı oluşturabilir veya varsayılan olarak sunulanı kabul edebilirsiniz. Yayın tanımında görev oluşturmak için gereken Kaynak adı değerini not alın.

    Derleme işlem hattında hpc-application paketine ait yapıt bağlantısını gösteren bir ekran görüntüsü.

  7. Add (Ekle) seçeneğini belirleyin.

  8. İşlem hattı sayfasında Yapıtlar yanında bulunan Ekle seçeneğini seçerek, Azure Repos deposu olan başka bir yapıt için bağlantı oluşturun. Bu bağlantı, deponuzdaki ARM şablonlarına erişmek için gereklidir. ARM şablonlarının derlenmesi gerekmez, bu nedenle bunları derleme işlem hattı üzerinden göndermeniz gerekmez.

    Uyarı

    Daha sonra kullanmak için Kaynak diğer ad değerini yeniden not edin.

    Azure Repos deposuna eser bağlantısını gösteren ekran görüntüsü.

  9. Değişkenler sekmesini seçin. Aynı bilgileri birden çok görev için yeniden girmek zorunda olmadığınız için işlem hattınızda aşağıdaki değişkenleri oluşturun.

    İsim Değer
    applicationStorageAccountName HPC uygulama ikili dosyalarını tutacak depolama hesabının adı.
    batchAccountApplicationName Batch hesabındaki uygulamanın adı.
    batchAccountName Batch hesabının adı.
    batchAccountPoolName İşlemeyi yapmak için sanal makine havuzunun (VM) adı.
    batchApplicationId Batch uygulaması için benzersiz kimlik, şu biçimde:
    /subscriptions/<subscriptionId>/resourceGroups/<resourceGroupName>^
    /providers/Microsoft.Batch/batchAccounts/<batchAccountName>^
    /applications/<batchAccountApplicationName>.

    Yer tutucuyu <subscriptionId> Azure abonelik kimliğiniz ve diğer yer tutucuları da bu listedeki diğer değişkenler için ayarladığınız değerlerle değiştirin.
    topluUygulamaVersiyonu Batch uygulamanızın anlamsal sürümü, bu örnekte 4.3.1.
    konum Dağıtılacak kaynaklar için Azure bölgesi.
    resourceGroupName Kaynakları dağıtılacak kaynak grubunun adı.
    depolamaHesapAdı Bağlı ARM şablonlarını barındıracak depolama hesabının adı.
    StorageContainerSasToken $(<referenceName>.StorageContainerSasToken). Yer tutucuyu<referenceName, aşağıdaki Azure Dosya Kopyalama adımının Çıkış Değişkenleri bölümünde yapılandırdığınız Başvuru adı değeriyle değiştirin.
    StorageContainerUri $(<referenceName>.StorageContainerUri). Yer tutucuyu<referenceName>, Azure Dosya Kopyalama adımının Çıkış Değişkenleri bölümünde yapılandırdığınız Başvuru adı değeriyle değiştirin.

    Azure Pipelines sürümü için ayarlanan değişkenleri gösteren ekran görüntüsü.

  10. Görevler sekmesini ve ardından Aracı işi'ni seçin.

  11. Aracı işi ekranında, Aracı havuzu altında Azure Pipelines'ı seçin.

  12. Aracı Belirtimi'nin altında windows-latest'ı seçin.

    Aracı işi ayarlarını gösteren ekran görüntüsü.

Görev ekleme

Altı görev oluşturma:

  • Sıkıştırılmış ffmpeg dosyalarını indirin.
  • İç içe ARM şablonlarını barındırmak için bir depolama hesabı dağıtın.
  • ARM şablonlarını depolama hesabına kopyalayın.
  • Batch hesabını ve gerekli bağımlılıkları dağıtın.
  • Batch hesabında bir uygulama oluşturun.
  • Uygulama paketini Batch hesabına yükleyin.

Aşağıdaki adımların belirttiği her yeni görev için:

  1. Sol bölmede +Aracı İşi yanındaki simgeyi seçin.

  2. Sağ bölmede belirtilen görevi arayın ve seçin.

  3. Görevi yapılandırmak için özellikleri ekleyin veya seçin.

  4. Add (Ekle) seçeneğini belirleyin.

    HPC uygulamasını Azure Batch'e yayımlamak için kullanılan görevleri gösteren ekran görüntüsü.

Görevleri aşağıdaki gibi oluşturun:

  1. İşlem Hattı Yapıtlarını İndir görevini seçin ve aşağıdaki özellikleri ayarlayın:

    • Görünen ad: Aracıya ApplicationPackage'ı İndir yazın.
    • Yapıt adı: hpc-application girin.
    • Hedef dizin: girin $(System.DefaultWorkingDirectory).
  2. ARM şablonlarınızı depolamak için bir Azure Depolama hesabı oluşturun. Mevcut bir depolama hesabını kullanabilirsiniz, ancak bu bağımsız içerik örneğini ve yalıtımını desteklemek için ayrılmış bir depolama hesabı oluşturun.

    ARM Şablonu dağıtımı: Kaynak Grubu kapsam görevini seçin ve aşağıdaki özellikleri ayarlayın:

    • Görünen ad:ARM şablonları için depolama hesabı dağıtın yazın.
    • Azure Resource Manager bağlantısı: Uygun Azure aboneliğini seçin.
    • Abonelik: Uygun Azure aboneliğini seçin.
    • Eylem: Kaynak grubu oluştur veya güncelleştir'i seçin.
    • Kaynak grubu: Yazınız $(resourceGroupName).
    • Konum: girin $(location).
    • Şablon: girin $(System.ArtifactsDirectory)/<AzureRepoArtifactSourceAlias>/arm-templates/storageAccount.json. Daha önce not aldığınız depo Kaynak takma adıyla, <AzureRepoArtifactSourceAlias> yer tutucusunu değiştirin.
    • Şablon parametrelerini geçersiz kıl: girin -accountName $(storageAccountName).
  3. Sürüm kontrolünden yapıtları depolama hesabına yükleyin. Bu Azure Dosya Kopyalama görevinin bir bölümü, Depolama hesabı kapsayıcı URI'sini ve SAS belirtecini bir değişkene verir, böylece bunlar sonraki adımlarda yeniden kullanılabilir.

    Azure Dosya Kopyalama görevini seçin ve aşağıdaki özellikleri ayarlayın:

    • Görünen ad:AzureBlob Dosya Kopyası yazın.
    • Kaynak: Enter tuşuna basın $(System.ArtifactsDirectory)/<AzureRepoArtifactSourceAlias>/arm-templates/. Daha önce not aldığınız depo Kaynak takma adıyla, <AzureRepoArtifactSourceAlias> yer tutucusunu değiştirin.
    • Azure Aboneliği: Uygun Azure aboneliğini seçin.
    • Hedef Türü: Azure Blob'a tıklayın.
    • RM Depolama Hesabı: girin $(storageAccountName).
    • Kapsayıcı Adı: Şablonları girin.
    • Başvuru adı: Çıkış Değişkenleri'ni açın, ardından ffmpeg girin.

    Uyarı

    Bu adım başarısız olursa Azure DevOps kuruluşunuzun depolama hesabında Depolama Blobu Katkıda Bulunanı rolüne sahip olduğundan emin olun.

  4. Batch hesabını ve havuzunu oluşturmak için düzenleyici ARM şablonunu dağıtın. Bu şablon, Depolama hesabı kapsayıcı URI'si ve SAS belirteci için parametreleri içerir. ARM şablonunda gerekli olan değişkenler yayın tanımının değişkenler bölümünde tutulur ve AzureBlob Dosya Kopyalama görevinden ayarlanır.

    ARM Şablonu dağıtımı: Kaynak Grubu kapsam görevini seçin ve aşağıdaki özellikleri ayarlayın:

    • Görünen ad:Deploy Azure Batch yazın.
    • Azure Resource Manager bağlantısı: Uygun Azure aboneliğini seçin.
    • Abonelik: Uygun Azure aboneliğini seçin.
    • Eylem: Kaynak grubu oluştur veya güncelleştir'i seçin.
    • Kaynak grubu: Yazınız $(resourceGroupName).
    • Konum: girin $(location).
    • Şablon konumu: Dosyanın URL'sini seçin.
    • Şablon bağlantısı: girin $(StorageContainerUri)arm-templates/deployment.json$(StorageContainerSasToken).
    • Şablon parametrelerini geçersiz kıl: girin -StorageContainerUri $(StorageContainerUri) -StorageContainerSasToken $(StorageContainerSasToken) -applicationStorageAccountName $(applicationStorageAccountName) -batchAccountName $(batchAccountName) -batchAccountPoolName $(batchAccountPoolName).

    Yaygın bir uygulama, Azure Key Vault görevlerini kullanmaktır. Azure aboneliğinize bağlı hizmet sorumlusunun uygun bir erişim ilkesi belirlenmişse, Key Vault'tan gizli bilgileri indirip ardışık düzeninizde değişken olarak kullanılabilir. Sır adı ilişkili değerle belirlenir. Örneğin, yayın tanımında sshPassword gizli bilgisini $(sshPassword) ile referans alabilirsiniz.

  5. Azure Batch'te uygulama oluşturmak için Azure CLI'yı çağır.

    Azure CLI görevini seçin ve aşağıdaki özellikleri ayarlayın:

    • Görünen ad:Azure Batch hesabında Uygulama oluştur yazın.
    • Azure Resource Manager bağlantısı: Uygun Azure aboneliğini seçin.
    • Betik Türü: PowerShell Core'ı seçin.
    • Betik Konumu: Satır içi betiği seçin.
    • Satır içi Betik: Girin az batch application create --application-name $(batchAccountApplicationName) --name $(batchAccountName) --resource-group $(resourceGroupName).
  6. Azure CLI'yı çağırarak ilişkili paketleri uygulamaya yükleyin; bu durumda ffmpeg dosyaları.

    Azure CLI görevini seçin ve aşağıdaki özellikleri ayarlayın:

    • Görünen ad:Azure Batch hesabına paketi yükleme komutunu girin.
    • Azure Resource Manager bağlantısı: Uygun Azure aboneliğini seçin.
    • Betik Türü: PowerShell Core'ı seçin.
    • Betik Konumu: Satır içi betiği seçin.
    • Satır içi Betik: Girin az batch application package create --application-name $(batchAccountApplicationName) --name $(batchAccountName) --resource-group $(resourceGroupName) --version $(batchApplicationVersion) --package-file=$(System.DefaultWorkingDirectory)/$(Release.Artifacts.<AzureBuildArtifactSourceAlias>.BuildId).zip. Daha önce not ettiğiniz Derleme Kaynağı takma adı ile <AzureBuildArtifactSourceAlias> yer tutucuyu değiştirin.

    Uyarı

    Uygulama paketinin sürüm numarası bir değişkene ayarlanır. değişkeni, paketin önceki sürümlerinin üzerine yazılmasına olanak tanır ve Azure Batch'e gönderilen paket sürümünü el ile denetlemenize olanak tanır.

Sürümü oluşturma ve çalıştırma

  1. Tüm adımları oluşturmayı tamamladığınızda işlem hattı sayfasının üst kısmındaki Kaydet'i ve ardından Tamam'ı seçin.

  2. Sayfanın üst kısmındaki Yayın oluştur'u seçin.

  3. Canlı yayın durumunu görüntülemek için sayfanın üst kısmındaki yayının oluşturulduğunu belirten bağlantıyı seçin.

  4. Aracıdan gelen günlük çıktısını görüntülemek için adımın üzerine gelin ve Günlükler düğmesini seçin.

    Yayının durumunu gösteren ekran görüntüsü.

Ortamı test edin

Ortam ayarlandıktan sonra aşağıdaki testlerin başarıyla çalıştığını onaylayın. Yer tutucuları kaynak grubunuz ve Batch hesabı değerlerinizle değiştirin.

Batch hesabına bağlanma

Komut isteminden Azure CLI kullanarak yeni Batch hesabına bağlanın.

  1. Ile az login Azure hesabınızda oturum açın ve kimlik doğrulaması yapmak için yönergeleri izleyin.
  2. Batch hesabını az batch account login -g <resourceGroup> -n <batchAccount> ile doğrula.

Kullanılabilir uygulamaları listeleme

az batch application list -g <resourceGroup> -n <batchAccount>

Havuzun geçerli olup olmadığını denetleyin

az batch pool list

Komut çıkışında, bir sonraki testte ayarlamak için değerini currentDedicatedNodes not edin.

Havuzu yeniden boyutlandırma

İş ve görev testi için kullanılabilir işlem düğümleri olacak şekilde havuzu yeniden boyutlandırmak için aşağıdaki komutu çalıştırın. Yer tutucu <poolName>'yi havuz adınızın değeriyle ve yer tutucu <targetNumber>'yi önceki komut çıktısındaki currentDedicatedNodes'den daha büyük bir sayıyla değiştirin. az batch pool list komutunu, yeniden boyutlandırma tamamlanıp hedef düğüm sayısını gösterene kadar çalıştırarak durumu kontrol edin.

az batch pool resize --pool-id <poolname> --target-dedicated-nodes <target number>

Sonraki adımlar

Basit bir uygulama aracılığıyla batch hesabıyla nasıl etkileşim kuracağınızı öğrenmek için bu öğreticilere bakın.