Aracılığıyla paylaş


Azure DevOps CLI servis uç noktası

Azure DevOps Services

komutuyla az devops service-endpoint farklı hizmet bağlantısı türleri oluşturabilir ve yönetebilirsiniz. Hizmet bağlantısı, Azure DevOps'un Azure, Bitbucket, Kubernetes, Maven, GitHub ve daha fazlası gibi bir dış hizmetle iletişim kurmasını sağlar. ile az devops service-endpointaş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ı/bağlantılarını yönetme
  • Azure Resource Manager hizmet uç noktalarını/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ı alın.

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

Ayrıca azure cli komutlarını kullanarak bir hizmet uç noktasının ayrıntılarını alabilir, listeleyebilir, silebilir ve güncelleştirebilirsiniz. Bkz. Azure DevOps CLI örneklerine, Hizmet uç noktalarına veya hizmet bağlantılarına dizin oluşturma.

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ımlamanız gerekir. Yapılandırma dosyasının içeriği, Azure Klasik, Azure Veri Gezgini, Bitbucket Cloud, Chef ve daha fazlası 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 diziminde yapılandırma dosyasının json biçimi gösterilir.

{
  "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": "c7e5f0b3-71fa-4429-9fb3-3321963a7c06",
        "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 Veri Akışı Açıklaması
name Dize Uç noktanın kolay adını ayarlar.
type Dize Uç noktanın türünü ayarlar.
url Dize Uç noktanın URL'sini ayarlar.
authorization EndpointAuthorization 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 Başvurusu Hizmet uç noktasının proje başvurusunu ayarlar.

Desteklenen türlerin ve gerekli giriş parametrelerinin listesi için aşağıdaki REST API girişini kullanabilirsiniz:

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

Ayrıca, hizmet bağlantı türlerinin ve gerektirebilecek diğer parametrelerin açıklaması için bkz . Hizmet bağlantılarını yönetme, Ortak hizmet bağlantı türleri.

create komutunu çalıştırın

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

az devops service-endpoint create --service-endpoint-configuration 
                                  [--encoding {ascii, utf-16be, utf-16le, utf-8}]
                                  [--org]
                                  [--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. kullanarak az devops configure -d organization=ORG_URLvarsayılan kuruluşu yapılandırabilirsiniz. Varsayılan olarak yapılandırılmadıysa gereklidir.
  • project: Projenin adı veya kimliği. kullanarak varsayılan projeyi az devops configure -d project=NAME_OR_IDyapılandırabilirsiniz. Varsayılan olarak yapılandırılmadıysa gereklidir.

Örnek

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

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

Başarıyla oluşturulduktan sonra, hizmet uç noktasına bir Id atanır ve aşağıdaki söz dizimine benzer bir yanıt döndürülü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 komutunu az devops service-endpoint github create kullanın:

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

Etkileşimli modda komut, az devops service-endpoint github create otomasyon amacıyla ortam değişkenini kullanarak GitHub PAT belirteciniAZURE_DEVOPS_EXT_GITHUB_PAT. Daha fazla bilgi için bkz . Kişisel erişim belirteci (PAT) ile oturum açma.

Azure Resource Manager hizmet uç noktası oluşturma

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

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] 
                                          [--org]
                                          [--project]

İstemci sırrı kullanma

Etkileşimli modda, az devops service-endpoint azurerm create komutu bir istem mesajı kullanarak hizmet ilkesinin gizli anahtarını 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 ve bağımsız değişkenini kullanarak .pem dosyasının --azure-rm-service-principal-certificate-path yolunu geçirin.

openssl kullanarak bir .pem dosyası oluşturabilirsiniz:

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