Hızlı Başlangıç: Azure CLI kullanarak Yönetilen DevOps Havuzu oluşturma

Bu makalede, Azure CLI kullanarak Yönetilen DevOps Havuzu oluşturma ve içinde işlem hattı çalıştırma adımları gösterilmektedir.

Önkoşullar

  • Yönetilen DevOps Havuzları önkoşulları

    Bu makaledeki adımları tamamlamadan önce, Önkoşullar makalesinde açıklandığı gibi Azure aboneliğinizi ve Azure DevOps kuruluşunuzu Yönetilen DevOps Havuzları ile kullanmak üzere yapılandırmış olmanız gerekir. Bu adımların Azure aboneliği ve Azure DevOps kuruluşu başına yalnızca bir kez tamamlanması gerekir.

  • Azure CLI önkoşulları

    • Yerel makinenizde Azure CLI komutlarını çalıştırmak istiyorsanız Azure CLI yükleme yönergelerine bakın. Azure CLI zaten yüklüyse, sürümünüzü denetlemek için komutunu çalıştırın az version . Yönetilen DevOps Havuzları için Azure CLI uzantısı için Azure CLI sürüm 2.57.0 veya üzeri gerekir. Azure CLI'nız 2.57.0'dan düşükse komutunu çalıştırın az upgrade. Daha fazla bilgi için bkz. Azure CLI'yi güncelleştirme.

    • Azure Cloud Shell'i tarayıcınız aracılığıyla kullanmak istiyorsanız Microsoft.CloudShell ad alanını kaydetmek için Azure Cloud Shell kısa ömürlü oturumlarını kullanmaya başlama başlığı altında yer alan yönergeleri izleyin. Ad alanını abonelik başına yalnızca bir kez kaydetmeniz gerekir.

      Aşağıdaki örneklerde bash kullanılır. Bu nedenle Azure Cloud Shell kullanıyorsanız Azure Cloud Shell'i başlatırken Bash'i seçin.

Azure CLI'da oturum açma

Bir komut istemi açın (Windows'da Windows Komut İstemi veya PowerShell kullanın) ve aşağıdaki komutları çalıştırın.

  1. Azure CLI'da oturum açın. Azure Cloud Shell kullanıyorsanız farklı bir hesap kullanmak istemediğiniz sürece çalıştırmanız az login gerekmez.

    az login
    
  2. Birden fazla Azure aboneliğiniz varsa varsayılan Azure aboneliğinizi ayarlayın.

    az account set --subscription "My subscription name"
    

    Aboneliklerinizin listesini almak için aşağıdaki komutu çalıştırabilirsiniz.

    az account list -o table
    

    Birden çok kiracınız varsa veya Azure CLI kullanarak Azure aboneliğiyle çalışma hakkında daha fazla bilgi edinmek istiyorsanız bkz . Azure CLI ile Azure aboneliklerini yönetme.

Ortam değişkenlerini tanımlama

  1. Bu hızlı başlangıçta kaynakların adlarını oluşturmak için aşağıdaki komutları çalıştırın. Bu örnekte EastUS2 bölgesi kullanılır. EastUS2 öğesini istediğiniz bölgeyle değiştirin.

    Important

    Bu örnekteki değişken tarafından belirtilen Yönetilen DevOps Havuzunun POOL_NAME adı, Azure genel olarak benzersiz olmalıdır.

    export REGION=EastUS2
    export RANDOM_ID="$(openssl rand -hex 3)"
    export RESOURCE_GROUP_NAME="myManagedDevOpsPoolGroup$RANDOM_ID"
    export POOL_NAME="mdpPool$RANDOM_ID"
    export DEV_CENTER_NAME="mdpDevCenter$RANDOM_ID"
    export DEV_CENTER_PROJECT_NAME="mdpDevCenterProject$RANDOM_ID"
    
    # Echo the generated resource names
    echo $REGION
    echo $RESOURCE_GROUP_NAME
    echo $POOL_NAME
    echo $DEV_CENTER_NAME
    echo $DEV_CENTER_PROJECT_NAME
    

Kaynak grubu oluşturma

  1. Bu hızlı başlangıçta kullanılan kaynakları içerecek kaynak grubunu oluşturmak için aşağıdaki komutu çalıştırın.

    az group create --name $RESOURCE_GROUP_NAME --location $REGION
    

Geliştirme merkezi ve geliştirme merkezi projesi oluşturma

  1. Yüklü değilse Azure CLI devcenter uzantısını yükleyen ve zaten yüklüyse en son sürüme güncelleştiren aşağıdaki komutu çalıştırın.

    az extension add --name devcenter --upgrade
    
  2. Geliştirme merkezi ve geliştirme merkezi projesi oluşturmak için aşağıdaki komutları çalıştırın.

    # Create a dev center
    az devcenter admin devcenter create -n $DEV_CENTER_NAME \
        -g $RESOURCE_GROUP_NAME \
        -l $REGION
    
    # Save the id of the newly created dev center
    DEVCID=$( \
        az devcenter admin devcenter show -n $DEV_CENTER_NAME \
        -g $RESOURCE_GROUP_NAME \
        --query id -o tsv)
    
    # Create a dev center project
    az devcenter admin project create -n $DEV_CENTER_PROJECT_NAME \
        --description "My dev center project." \
        -g $RESOURCE_GROUP_NAME \
        -l $REGION \
        --dev-center-id $DEVCID
    
    # Save the dev center project for use when creating
    # the Managed DevOps Pool
    DEVCPID=$( \
        az devcenter admin project show -n $DEV_CENTER_PROJECT_NAME \
        -g $RESOURCE_GROUP_NAME \
        --query id -o tsv)
    

    Birkaç dakika sonra çıkış, Geliştirme merkezinin oluşturulduğunu gösterir. Oluşturulan geliştirme merkezinin id öğesi DEVCID içine kaydedilir ve geliştirme merkezi projesini oluşturmak için kullanılır.

    {
        "devCenterUri": "https://...",
        "id": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/resourceGroupName/providers/Microsoft.DevCenter/devcenters/devCenterName",
        "location": "eastus",
        "name": "devCenterName",
        "provisioningState": "Succeeded",
        "resourceGroup": "resourceGroupName",
        "systemData": { ... },
        "type": "microsoft.devcenter/devcenters"
    }
    

    Birkaç dakika sonra çıkış, geliştirme merkezi projesinin oluşturulduğunu gösterir. Oluşturulan geliştirme merkezi projesinin id değeri, DEVCPID içine kaydedilir ve sonraki bölümde Managed DevOps Pool oluşturulurken kullanılır.

    {
      "description": "My dev center project.",
      "devCenterId": "...",
      "devCenterUri": "https://...",
      "id": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/resourceGroupName/providers/Microsoft.DevCenter/projects/devCenterProjectName",
      "location": "eastus",
      "name": "devCenterProjectName",
      "provisioningState": "Succeeded",
      "resourceGroup": "resourceGroupName",
      "systemData": { ... },
      "type": "microsoft.devcenter/projects"
    }
    

Yönetilen DevOps Havuzu yapılandırma dosyalarını hazırlama

yöntemi, mdp pool create havuzun farklı yönlerini yapılandıran JSON değerlerini alan çeşitli parametrelere sahiptir.

  • agent-profile havuzun durum bilgisi olan mı yoksa durum bilgisi olmayan mı olduğunu belirtir ve hazır bekleyen aracı zamanlamasını içerir. Bu, istediğiniz ajan yapılandırmasına bağlı olarak adı Stateful veya Stateless olan tek bir anahtara sahip bir sözlüktür. agent-profile özellikleri hakkında daha fazla bilgi için Ölçeklendirmeyi yapılandırma bölümüne bakın.
  • fabric-profile aracı boyutunu, VM görüntülerini, işletim sistemi diskini ve bağlı depolama alanını belirtir. fabric-profile özellikleri hakkında daha fazla bilgi için Havuz ayarlarını yapılandırma ve Ek depolamayı yapılandırma bölümlerine bakın.
  • organization-profile , havuzu kullanabilen Azure DevOps kuruluşlarını ve projelerini belirtir. Ayarlar hakkında organization-profile daha fazla bilgi için bkz . Güvenlik ayarlarını yapılandırma - Kuruluş erişimini yapılandırma.

Aşağıdaki üç dosyayı oluşturun ve havuzu oluşturmak için Azure CLI komutlarını çalıştırmayı planladığınız klasöre kaydedin.

  1. aşağıdaki içeriklere sahip agent-profile.json adlı bir dosya oluşturun.

    {
      "Stateless": {}
    }
    

    Bu yapılandırma, havuzunuz için durum bilgisi olmayan bir aracı tanımlar.

  2. aşağıdaki içeriklere sahip fabric-profile.json adlı bir dosya oluşturun.

    {
      "vmss": {
        "sku": {
          "name": "Standard_D2as_v5"
        },
        "images": [
          {
            "aliases": [
              "ubuntu-24.04"
            ],
            "buffer": "*",
            "wellKnownImageName": "ubuntu-24.04/latest"
          }
        ],
        "osProfile": {
          "secretsManagementSettings": {
            "observedCertificates": [],
            "keyExportable": false
          },
          "logonType": "Service"
        },
        "storageProfile": {
          "osDiskStorageAccountType": "Standard",
          "dataDisks": []
        }
      }
    }
    

    Bu yapılandırma, Standard_D2as_v5 görüntüsünü, ubuntu-24.04Azure Pipelines görüntüsünü ve ekli veri diski olmayan standart işletim sistemi disk türünü kullanan bir havuz belirtir.

  3. aşağıdaki içeriklere sahip organization-profile.json adlı bir dosya oluşturun. <organization-name> öğesini Azure DevOps kuruluşunuzun adıyla değiştirin.

    {
      "AzureDevOps": {
        "organizations": [
          {
            "url": "https://dev.azure.com/<organization-name>",
            "projects": [],
            "parallelism": 1
          }
        ],
        "permissionProfile": {
          "kind": "CreatorOnly"
        }
      }
    }
    

    Bu yapılandırma, Azure DevOps kuruluşunuzdaki tüm projeler için kullanılabilen bir havuz belirtir.

Yönetilen DevOps Havuzu Oluşturma

  1. Yüklü değilse Azure CLI mdp uzantısını yükleyen ve zaten yüklüyse en son sürüme güncelleştiren aşağıdaki komutu çalıştırın.

     az extension add --name mdp --upgrade
    
  2. Aşağıdaki az mdp pool create komutunu çalıştırarak Yönetilen DevOps Havuzu oluşturun .

    az mdp pool create -n $POOL_NAME \
       -g $RESOURCE_GROUP_NAME \
       -l $REGION \
       --devcenter-project-id $DEVCPID \
       --maximum-concurrency 1 \
       --agent-profile agent-profile.json \
       --fabric-profile fabric-profile.json \
       --organization-profile organization-profile.json
    

    Aboneliğinizde havuzunuzu istenen Azure VM SKU'su ve maksimum aracı sayısıyla yapılandırma kapasitesi yoksa havuz oluşturma işlemi aşağıdaki iletiye benzer bir hatayla başarısız olur. Cores needed to complete this request is 2, which exceeds the current limit of 0 for SKU family standardDDSv4Family in region eastus. Please choose a different region if possible, or request additional quota at https://portal.azure.com/#view/Microsoft_Azure_Support/NewSupportRequestV3Blade/issueType/quota/subscriptionId/subscription_id_placeholder/topicId/3eadc5d3-b59a-3658-d8c6-9c729ba35b97. Sorunu çözmek için bkz. Yönetilen DevOps Havuzları kotalarını gözden geçirme.

Oluşturduğunuz havuzu Azure portalında görüntüleme

  1. Azure Portal’ında oturum açın.

  2. Yönetilen DevOps Havuzları'nı arayın ve kullanılabilir seçenekler arasından seçin.

  3. Listeden yeni Yönetilen DevOps Havuzunuzu seçin.

  4. Yönetilen DevOps Havuzları kaynağınızın JSON biçimini görmek için JSON Görünümü'nü seçin.

    Havuz genel görünümündeki JSON görünümü düğmesinin ekran görüntüsü.

Azure DevOps'ta aracı havuzunu görüntüleme

  1. Azure DevOps portalına gidin ve Azure DevOps kuruluşunuzda (https://dev.azure.com/{your-organization} ) oturum açın.

  2. Azure DevOps>Kuruluş ayarları'na gidin.

    Kuruluş ayarları düğmesinin ekran görüntüsü.

  3. Pipelines>Aracı havuzları'na gidin ve yeni havuzunuzun listelendiğini doğrulayın. Yönetilen DevOps Havuzunu yeni oluşturduysanız, yeni havuzun aracılar listesinde görünmesi birkaç dakika sürebilir.

    Aracı havuzları listesinin ekran görüntüsü.

Yeni havuzunuzda bir işlem hattı çalıştırın

Bu adımda, bir Azure DevOps projesinin varsayılan deposunda basit bir işlem hattı oluşturacak ve bunu yeni Yönetilen DevOps Havuzunuzda çalıştıracağız.

  1. Azure DevOps portalına gidin ve Azure DevOps kuruluşunuzda (https://dev.azure.com/{your-organization} ) oturum açın.

  2. İşlem hattını çalıştırmak istediğiniz projeye gidin ve İşlem hatları'nı seçin.

    Projeler listesinin ekran görüntüsü.

  3. Yeni işlem hattı'nı seçin (veya bu ilk işlem hattınızsa İşlem Hattı Oluştur'u).

    Yeni işlem hattı düğmesinin ekran görüntüsü.

  4. Azure Repos Git'i seçin.

    Depo türlerinin ekran görüntüsü.

  5. Projenizle aynı adı taşıyan depoyu seçin. Bu örnekte proje FabrikamFiber olarak adlandırıldığından aynı ada sahip depoyu seçiyoruz.

    FabrikamFiber deposunun ekran görüntüsü.

  6. Başlangıç işlem hattını seçin.

    İşlem hattı şablon listesinin ekran görüntüsü.

  7. Başlangıç şablonu varsayılan olarak Microsoft tarafından barındırılan bir Linux aracısı kullanır. İşlem hattı şablonunu düzenleyin ve pool bölümünü, önceki adımlarda oluşturduğunuz havuzu işaret edecek şekilde değiştirin.

    # Change these two lines as shown in the following example.
     pool:
      vmImage: ubuntu-latest
    

    Bu örnekte, Yönetilen DevOps Havuzu'nun adı fabrikam-managed-pool olduğundan, vmImage: ubuntu-latest yerine name: fabrikam-managed-pool yazın ve Yönetilen DevOps Havuzunuzun adını belirtin.

    # Replace fabrikam-managed-pools with the name
    # of your Managed DevOps Pool.
    pool:
      name: fabrikam-managed-pool
    
  8. Kaydet ve çalıştır'ı seçin ve onaylamak için Kaydet ve ikinci kez çalıştır'ı seçin.

    Kaydet ve çalıştır düğmesinin ekran görüntüsü.

  9. Bu, bu havuzdaki ilk işlem hattı çalıştırmasıysa, işlem hattı çalıştırılmadan önce izinler vermeniz istenebilir. Daha fazla bilgi için Bu işlem hattının çalışmaya devam edebilmesi için bir kaynağa erişim izni gerekiyor bölümüne bakın.

  10. Azure DevOps'ta işlem hattı çalışmasını izleyin ve Azure portalına geçerek Aracılar görünümünde çalışan aracıyı görebilirsiniz.

Kaynakları temizleme

Bu uygulamayı kullanmaya devam etmeyecekseniz kaynak grubunu, geliştirme merkezini, geliştirme merkezi projesini ve Yönetilen DevOps Havuzunu silin. Bu hızlı başlangıç, tüm kaynakları yeni bir kaynak grubunda oluşturduğundan, az group delete komutunu kullanarak kaynak grubunu ve tüm kaynaklarını silebilirsiniz.

az group delete -n $RESOURCE_GROUP_NAME

Ayrıca bkz.