Azure DevOps-CLI-Dienstendpunkt

Azure DevOps Services

Mit dem az devops service-endpoint Befehl können Sie verschiedene Arten von Dienstverbindungen erstellen und verwalten. Eine Dienstverbindung ermöglicht Azure DevOps die Kommunikation mit einem externen Dienst, z. B. Azure, Bitbucket, Kubernetes, Maven, GitHub und mehr. Mit az devops service-endpoint, können Sie die folgenden Aufgaben ausführen:

  • Erstellen eines Dienstendpunkts mithilfe einer Konfigurationsdatei
  • Aktualisieren eines Dienstendpunkts
  • Verwalten von GitHub-Dienstendpunkten/-verbindungen
  • Verwalten von Azure Resource Manager-Dienstendpunkten/-verbindungen
  • Dienstendpunkte auflisten, die für ein Projekt definiert sind
  • Rufen Sie die Details eines Dienstendpunkts ab.

Ausführliche Befehlssyntax finden Sie unter az devops service-endpoint. Eine Syntax für die REST-API für Dienstendpunkte finden Sie unter Endpunkte.

Sie können auch Azure CLI-Befehle verwenden, um Details, Listen, Löschen und Aktualisieren eines Dienstendpunkts abzurufen. Siehe Index zu Azure DevOps CLI-Beispielen, Dienstendpunkten oder Dienstverbindungen.

Informationen zum Erstellen und Bearbeiten von Dienstverbindungen mithilfe des Webportals finden Sie unter "Verwalten von Dienstverbindungen".

Erstellen eines Dienstendpunkts mithilfe einer Konfigurationsdatei

Um einen Dienstendpunkt mithilfe einer Konfigurationsdatei zu erstellen, müssen Sie zuerst die Konfigurationsdatei definieren. Die Inhalte der Konfigurationsdatei unterscheiden sich je nach Verbindungstyp, z. B. Azure Classic, Azure Data Explorer, Bitbucket Cloud, Chef und mehr.

Konfigurationsdateiformat

Die folgende Syntax zeigt das json Format für die Konfigurationsdatei.

{
  "data": {},
  "name": "MyNewServiceEndpoint",
  "type": "Generic",
  "url": "https://myserver",
  "authorization": {
    "parameters": {
      "username": "myusername",
      "password": "mysecretpassword"
    },
    "scheme": "UsernamePassword"
  },
  "isShared": false,
  "isReady": true,
  "serviceEndpointProjectReferences": [
    {
      "projectReference": {
        "id": "c7e5f0b3-71fa-4429-9fb3-3321963a7c06",
        "name": "TestProject"
      },
      "name": "MyNewServiceEndpoint"
    }
  ]
}

In der folgenden Tabelle wird jeder Parameter beschrieben. Der type Parameter unterstützt die Erstellung eines beliebigen Typs von Dienstendpunkt.

Parameter Typ Beschreibung
name string Legt den Anzeigenamen des Endpunkts fest.
type Zeichenfolge Legt den Typ des Endpunkts fest.
url Zeichenfolge Legt die URL des Endpunkts fest.
authorization EndpointAuthorization Legt die Autorisierungsdaten für die Kommunikation mit dem Endpunkt fest.
isShared boolean Gibt an, ob der Dienstendpunkt für andere Projekte freigegeben wird oder nicht.
isReady boolean EndPoint-Statusindikator.
serviceEndpointProjectReferences Projektreferenz Legt den Projektverweis des Dienstendpunkts fest.

Für eine Liste der unterstützten Typen und deren erforderlichen Eingabeparameter können Sie den folgenden REST-API-Eintrag ausführen:

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

Eine Beschreibung der Dienstverbindungstypen und anderer parameter, die sie möglicherweise benötigen, finden Sie unter "Verwalten von Dienstverbindungen", "Allgemeine Dienstverbindungstypen".

Führen Sie den Befehl create aus.

Sie erstellen einen Dienstendpunkt mit dem az devops service-endpoint create Befehl.

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

Parameter

  • Dienstendpunktkonfiguration: Erforderlich. Name der json Konfigurationsdatei mit Dienstendpunktkonfiguration.
  • Codierung: Optional. Codierung der Eingabedatei. Der Standardwert ist utf-8. Zulässige Werte: ascii, utf-16be, utf-16le, utf-8.
  • org: URL der Azure DevOps-Organisation. Sie können die Standard-organization mit az devops configure -d organization=ORG_URLkonfigurieren. Erforderlich, wenn sie nicht als Standard konfiguriert ist.
  • project: Name oder ID des Projekts. Sie können das Standardprojekt mit az devops configure -d project=NAME_OR_IDkonfigurieren. Erforderlich, wenn sie nicht als Standard konfiguriert ist.

Beispiel

Der folgende Befehl erstellt eine Dienstverbindung, die auf die ServiceConnectionGeneric.json Datei verweist.

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

Bei erfolgreicher Erstellung wird dem Dienstendpunkt eine Id zugewiesen, und eine Antwort ähnlich der folgenden Syntax wird zurückgegeben.

{
  "administratorsGroup": null,
  "authorization": {
    "parameters": {
      "password": null,
      "username": "myusername"
    },
    "scheme": "UsernamePassword"
  },
  "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"
}

Erstellen eines GitHub-Dienstendpunkts

Verwenden Sie den az devops service-endpoint github create Befehl, um einen GitHub-Dienstendpunkt zu erstellen:

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

Im interaktiven Modus fordert der az devops service-endpoint github create Befehl ein GitHub PAT-Token mithilfe einer Eingabeaufforderungsmeldung an, um das GitHub PAT-Token mithilfe der AZURE_DEVOPS_EXT_GITHUB_PAT Umgebungsvariable festzulegen. Weitere Informationen finden Sie unter Anmelden mit einem persönlichen Zugriffstoken (PAT).

Erstellen eines Azure Resource Manager-Dienstendpunkts

Verwenden Sie den az devops service-endpoint azurerm create Befehl, um einen Azure Resource Manager-Dienstendpunkt zu erstellen.

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]

Verwenden eines geheimen Clientschlüssels/Kennworts

Im interaktiven Modus fordert der az devops service-endpoint azurerm create Befehl ein Dienstprinzipalkennwort/einen geheimen Dienstschlüssel mithilfe einer Eingabeaufforderungsnachricht an. Legen Sie für Automatisierungszwecke das Dienstprinzipalkennwort/den geheimen Schlüssel mithilfe der AZURE_DEVOPS_EXT_AZURE_RM_SERVICE_PRINCIPAL_KEY Umgebungsvariable fest.

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

Verwenden eines Clientzertifikats

Wenn die Microsoft Entra-Anwendung das Zertifikat für die Authentifizierung verwendet, erstellen Sie eine PEM-Datei für das Zertifikat, und übergeben Sie den Pfad zur PEM-Datei mithilfe des --azure-rm-service-principal-certificate-path Arguments.

Sie können eine.pem-Datei mit openssl erstellen:

openssl pkcs12 -in file.pfx -out file.pem -nodes -password pass:<password_here>