Sdílet prostřednictvím


Koncový bod služby CLI Azure DevOps

Služby Azure DevOps

Připojení služby umožňuje Azure DevOps komunikovat s externí službou, jako je Azure, Bitbucket, Kubernetes, Maven a GitHub. az devops service-endpoint Pomocí příkazu můžete vytvářet a spravovat různé typy připojení služeb. Můžete provést následující úlohy:

  • Vytvoření koncového bodu služby pomocí konfiguračního souboru
  • Aktualizace koncového bodu služby
  • Správa koncových bodů služby a připojení GitHubu
  • Správa koncových bodů služby a připojení Azure Resource Manageru
  • Výpis koncových bodů služby definovaných pro projekt
  • Získání podrobností o koncovém bodu služby

Podrobnou syntaxi příkazů najdete v az devops service-endpoint. Syntaxi rozhraní REST API pro koncové body služby najdete v tématu Koncové body.

Pomocí příkazů Azure CLI můžete získat podrobnosti, výpis, odstranění a aktualizaci koncového bodu služby. Viz koncové body služeb nebo připojení služeb.

Pokud chcete použít webový portál k vytváření a úpravám připojení služeb, přečtěte si téma Správa připojení služeb.

(no changes necessary if the context is gratuity)

Příklady v tomto článku používají službové identity místo základního ověřování, jež je bezpečnější metodou ověřování. Další informace najdete v tématu Použití instančních objektů & spravovaných identit v Azure DevOps.

Vytvoření koncového bodu služby pomocí konfiguračního souboru

Pokud chcete vytvořit koncový bod služby pomocí konfiguračního souboru, nejprve definujte konfigurační soubor. Obsah konfiguračního souboru se liší v závislosti na typu připojení, jako je Azure Classic, Azure Data Explorer, Bitbucket Cloud nebo Chef.

Formát konfiguračního souboru

Následující syntaxe ukazuje formát JSON pro konfigurační soubor.

{
  "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"
    }
  ]
}

Následující tabulka popisuje jednotlivé parametry. Parametr type podporuje vytvoření libovolného typu koncového bodu služby.

Parametr Typ Popis
name řetězec Nastaví přátelský název koncového bodu.
type řetězec Nastaví typ koncového bodu.
url řetězec Nastaví adresu URL koncového bodu.
authorization autorizace koncového bodu Nastaví autorizační data pro komunikaci s koncovým bodem.
isShared booleovská hodnota Určuje, jestli je koncový bod služby sdílený s jinými projekty.
isReady booleovská hodnota Ukazatel stavu koncového bodu
serviceEndpointProjectReferences Referenční dokumentace k projektu Nastaví referenci projektu koncového bodu služby.

Seznam podporovaných typů a jejich požadovaných vstupních parametrů najdete v následující položce rozhraní REST API:

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

Popis typů a parametrů připojení služby najdete v tématu Typy připojení služby Common Service.

Spuštění příkazu create

Pomocí příkazu az devops service-endpoint create vytvoříte koncový bod služby.

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

Parametry

  • konfigurace koncového bodu služby: Povinné. Název konfiguračního souboru s konfigurací koncového json bodu služby
  • kódování: Volitelné. Kódování vstupního souboru Výchozí hodnota je utf-8. Přijaté hodnoty: ascii, utf-16be, utf-16leutf-8.
  • organizace: Adresa URL organizace Azure DevOps Výchozí organizaci můžete nakonfigurovat pomocí .az devops configure --defaults organization=ORG_URL Vyžaduje se, pokud není nakonfigurované jako výchozí.
  • projekt: Název nebo ID projektu. Výchozí projekt můžete nakonfigurovat pomocí az devops configure --defaults project=NAME_OR_ID. Vyžaduje se, pokud není nakonfigurované jako výchozí.

Příklad

Následující příkaz vytvoří připojení služby odkazující na souborServiceConnectionGeneric.json .

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

Po vytvoření příkaz přiřadí Id koncový bod služby. Tento příklad vrátí následující výsledek.

{
  "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"
}

Vytvoření koncového bodu služby GitHub

Pokud chcete vytvořit koncový bod služby GitHub, použijte příkaz az devops service-endpoint github create :

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

V interaktivním režimu az devops service-endpoint github create vás příkaz vyzve k zadání tokenu PAT GitHubu. Pro účely automatizace nastavte token PAT GitHubu AZURE_DEVOPS_EXT_GITHUB_PAT pomocí proměnné prostředí. Další informace najdete v tématu Přihlášení pomocí osobního přístupového tokenu.

Vytvoření koncového bodu služby Azure Resource Manager

Pokud chcete vytvořit koncový bod služby Azure Resource Manager, použijte příkaz 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] 
                                          [--organization]
                                          [--project]

Použití tajného klíče klienta

V interaktivním režimu vás příkaz az devops service-endpoint azurerm create vyzve k zadání tajného klíče služebního principála. Pro účely automatizace nastavte heslo účtu služby pomocí proměnné prostředí AZURE_DEVOPS_EXT_AZURE_RM_SERVICE_PRINCIPAL_KEY.

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

Použití klientského certifikátu

Pokud aplikace Microsoft Entra používá certifikát k ověřování, vytvořte pro certifikát soubor .pem. Pomocí argumentu --azure-rm-service-principal-certificate-path předejte cestu k souboru .pem.

Soubor .pem můžete vytvořit pomocí OpenSSL:

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