Azure DevOps CLI servis uç noktası

Azure DevOps Services

Hizmet bağlantısı, Azure DevOps'un Azure, Bitbucket, Kubernetes, Maven ve GitHub gibi bir dış hizmetle iletişim kurmasını sağlar. komutuyla az devops service-endpoint farklı hizmet bağlantısı türleri oluşturabilir ve yönetebilirsiniz. Aşağıdaki görevleri gerçekleştirebilirsiniz:

  • Yapılandırma dosyası kullanarak hizmet uç noktası oluşturma
  • Hizmet uç noktasını güncelleştirme
  • GitHub hizmet uç noktalarını ve bağlantılarını yönetme
  • Azure Resource Manager hizmet uç noktalarını ve bağlantılarını yönetme
  • Proje için tanımlanan hizmet uç noktalarını listeleme
  • Hizmet uç noktasının ayrıntılarını alma

Ayrıntılı komut söz dizimi için bkz. az devops service-endpoint. REST API'deki hizmet uç noktaları söz dizimi için bkz. Uç Noktalar.

Azure CLI komutlarını kullanarak bir hizmet uç noktasının ayrıntılarını alabilir, listeleyebilir, silebilir ve güncelleştirebilirsiniz. Bkz . Hizmet uç noktaları veya hizmet bağlantıları.

Hizmet bağlantıları oluşturmak ve düzenlemek için web portalını kullanmak için bkz . Hizmet bağlantılarını yönetme.

Bahşiş

Bu makaledeki örnekler, kimlik doğrulaması için daha güvenli bir yöntem olarak temel kimlik doğrulaması yerine hizmet sorumlularını kullanır. Daha fazla bilgi için bkz. Azure DevOps'ta hizmet sorumlularını (& yönetilen kimlikler) kullanma.

Yapılandırma dosyası kullanarak hizmet uç noktası oluşturma

Yapılandırma dosyası kullanarak hizmet uç noktası oluşturmak için önce yapılandırma dosyasını tanımlayın. Yapılandırma dosyasının içeriği, Azure Klasik, Azure Veri Gezgini, Bitbucket Bulutu veya Chef gibi bağlantı türüne bağlı olarak farklılık gösterir.

Yapılandırma dosyası biçimi

Aşağıdaki söz dizimi, yapılandırma dosyasının JSON biçimini gösterir.

{
  "data": {},
  "name": "MyNewServiceEndpoint",
  "type": "AzureRM",
  "url": "https://management.azure.com/",
  "authorization": {
    "parameters": {
      "tenantid": "your-tenant-id"
    },
    "scheme": "ManagedServiceIdentity"
  },
  "isShared": false,
  "isReady": true,
  "serviceEndpointProjectReferences": [
    {
      "projectReference": {
        "id": "aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb",
        "name": "TestProject"
      },
      "name": "MyNewServiceEndpoint"
    }
  ]
}

Aşağıdaki tabloda her parametre açıklanmaktadır. type parametresi her tür hizmet uç noktasının oluşturulmasını destekler.

Parametre Tür Açıklama
name Dizgi Uç noktanın anlamlı adını ayarlar.
type Dize Uç noktanın türünü ayarlar.
url Dize Uç noktanın URL'sini ayarlar.
authorization Uç Nokta Yetkilendirmesi Uç noktayla konuşmak için yetkilendirme verilerini ayarlar.
isShared Boolean Hizmet uç noktasının diğer projelerle paylaşılıp paylaşılmadığını gösterir.
isReady Boolean EndPoint durum göstergesi.
serviceEndpointProjectReferences Proje Referansı Hizmet uç noktasının proje referansını ayarlar.

Desteklenen türlerin ve gerekli giriş parametrelerinin listesi için aşağıdaki REST API girişini gözden geçirin:

https://dev.azure.com/{organization}/_apis/serviceendpoint/types?api-version=6.0-preview.1

Hizmet bağlantı türlerinin ve parametrelerinin açıklaması için bkz. Ortak hizmet bağlantı türleri.

create komutunu çalıştırın

az devops service-endpoint create komutuyla bir hizmet uç noktası oluşturursunuz.

az devops service-endpoint create --service-endpoint-configuration 
                                  [--encoding {ascii, utf-16be, utf-16le, utf-8}]
                                  [--organization]
                                  [--project]

Parametreler

  • service-endpoint-configuration: Gerekli. Hizmet uç noktası yapılandırmasına json sahip yapılandırma dosyasının adı.
  • kodlama: İsteğe bağlı. Giriş dosyasının kodlaması. Varsayılan utf-8 değeridir. Kabul edilen değerler: ascii, utf-16be, utf-16le, utf-8.
  • kuruluş: Azure DevOps kuruluş URL'si. Varsayılan kuruluşu az devops configure --defaults organization=ORG_URL kullanarak yapılandırabilirsiniz. Varsayılan olarak yapılandırılmadıysa gereklidir.
  • project: Projenin adı veya kimliği. Bu varsayılan projeyi az devops configure --defaults project=NAME_OR_ID kullanarak yapılandırabilirsiniz. Varsayılan olarak yapılandırılmadıysa gereklidir.

Örnek

Aşağıdaki komut ,ServiceConnectionGeneric.json dosyasına başvuran bir hizmet bağlantısı oluşturur.

az devops service-endpoint create --service-endpoint-configuration ./ServiceConnectionGeneric.json

Oluşturma işleminden sonra komut, hizmet uç noktasına bir Id atar. Bu örnek aşağıdaki sonucu döndürür.

{
  "administratorsGroup": null,
  "authorization": {
    "parameters": {
      "serviceprincipalid": "your-service-principal-id",
      "serviceprincipalkey": "your-service-principal-key",
      "tenantid": "your-tenant-id"
    },
    "scheme": "ServicePrincipal"
  },
  "createdBy": {
    "descriptor": "aad.OGYxZTFlODEtMGJiNC03N2ZkLThkYzUtYjE3MTNiNTQ2MjQ4",
    "directoryAlias": null,
    "displayName": "Jamal Hartnett",
    "id": "60c83423-4eb6-4c5e-8395-1e71cb4aef4c",
    "imageUrl": "https://dev.azure.com/fabrikam/_apis/GraphProfile/MemberAvatars/aad.OGYxZTFlODEtMGJiNC03N2ZkLThkYzUtYjE3MTNiNTQ2MjQ4",
    "inactive": null,
    "isAadIdentity": null,
    "isContainer": null,
    "isDeletedInOrigin": null,
    "profileUrl": null,
    "uniqueName": "fabrikamfiber4@hotmail.com",
    "url": "https://spsprodwcus0.vssps.visualstudio.com/A0214b8cc-a36c-4b93-abbf-6348473c2f0a/_apis/Identities/60c83423-4eb6-4c5e-8395-1e71cb4aef4c"
  },
  "data": {},
  "description": null,
  "groupScopeId": null,
  "id": "3b6890ef-54b3-47ec-a907-a5d2f96237da",
  "isReady": true,
  "isShared": false,
  "name": "MyNewServiceEndpoint",
  "operationStatus": null,
  "owner": "library",
  "readersGroup": null,
  "serviceEndpointProjectReferences": [
    {
      "name": "MyNewServiceEndpoint",
      "projectReference": {
        "id": "677da0fb-b067-4f77-b89b-f32c12bb8617",
        "name": null
      }
    }
  ],
  "type": "Generic",
  "url": "https://myserver"
}

GitHub hizmet uç noktası oluşturma

GitHub hizmet uç noktası oluşturmak için az devops service-endpoint github create komutunu kullanın:

az devops service-endpoint github create --github-url
                                         --name 
                                         [--organization]
                                         [--project]

Etkileşimli modda komut, az devops service-endpoint github createGitHub PAT belirtecini girmenizi ister. Otomasyon amacıyla ortam değişkenini kullanarak GitHub PAT belirtecini AZURE_DEVOPS_EXT_GITHUB_PAT ayarlayın. Daha fazla bilgi için bkz. Kişisel erişim belirteci ile oturum açma.

Azure Resource Manager hizmet uç noktası oluşturma

Azure Resource Manager hizmet uç noktası oluşturmak için az devops service-endpoint azurerm create komutunu kullanın.

az devops service-endpoint azurerm create --azure-rm-service-principal-id
                                          --azure-rm-subscription-id
                                          --azure-rm-subscription-name
                                          --azure-rm-tenant-id
                                          --name
                                          [--azure-rm-service-principal-certificate-path] 
                                          [--organization]
                                          [--project]

İstemci sırrı kullanma

Etkileşimli modda, az devops service-endpoint azurerm create komut sizden bir hizmet sorumlusu parolası ister. Otomasyon amacıyla, AZURE_DEVOPS_EXT_AZURE_RM_SERVICE_PRINCIPAL_KEY ortam değişkenini kullanarak hizmet asıl şifresini ayarlayın.

export AZURE_DEVOPS_EXT_AZURE_RM_SERVICE_PRINCIPAL_KEY=<your_secret_here>
$env:AZURE_DEVOPS_EXT_AZURE_RM_SERVICE_PRINCIPAL_KEY=<your_secret_here>

İstemci sertifikası kullanma

Microsoft Entra uygulaması kimlik doğrulaması için sertifika kullanıyorsa, sertifika için bir .pem dosyası oluşturun. --azure-rm-service-principal-certificate-path parametresini kullanarak .pem dosyasının yolunu belirtin.

OpenSSL kullanarak bir .pem dosyası oluşturabilirsiniz:

openssl pkcs12 -in file.pfx -out file.pem -nodes -secret pass:<secret_here>