Delen via


Azure DevOps CLI-service-eindpunt

Azure DevOps Services

Met de az devops service-endpoint opdracht kunt u verschillende typen serviceverbindingen maken en beheren. Met een serviceverbinding kan Azure DevOps communiceren met een externe service, zoals Azure, Bitbucket, Kubernetes, Maven, GitHub en meer. Met az devops service-endpointkunt u de volgende taken uitvoeren:

  • Een service-eindpunt maken met behulp van een configuratiebestand
  • Een service-eindpunt bijwerken
  • GitHub-service-eindpunten/-verbindingen beheren
  • Azure Resource Manager-service-eindpunten/-verbindingen beheren
  • Service-eindpunten weergeven die zijn gedefinieerd voor een project
  • De details van een service-eindpunt ophalen.

Zie voor gedetailleerde opdrachtsyntaxis az devops service-endpoint. Zie Eindpunten voor syntaxis in de REST API voor service-eindpunten.

U kunt ook Azure CLI-opdrachten gebruiken om details, lijsten, verwijderen en een service-eindpunt op te halen. Zie Index naar Azure DevOps CLI-voorbeelden, service-eindpunten of serviceverbindingen.

Zie Serviceverbindingen beheren als u de webportal wilt gebruiken om serviceverbindingen te maken en te bewerken.

Service-eindpunt maken met behulp van een configuratiebestand

Als u een service-eindpunt wilt maken met behulp van een configuratiebestand, moet u eerst het configuratiebestand definiƫren. De inhoud van het configuratiebestand verschilt, afhankelijk van het type verbinding, zoals Azure Classic, Azure Data Explorer, Bitbucket Cloud, Chef en meer.

Indeling van configuratiebestand

De volgende syntaxis toont de json indeling voor het configuratiebestand.

{
  "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 de volgende tabel wordt elke parameter beschreven. De type parameter ondersteunt het maken van elk type service-eindpunt.

Parameter Type Omschrijving
name tekenreeks Hiermee stelt u de beschrijvende naam van het eindpunt in.
type tekenreeks Hiermee stelt u het type van het eindpunt in.
url tekenreeks Hiermee stelt u de URL van het eindpunt in.
authorization EndpointAuthorization Hiermee stelt u de autorisatiegegevens in voor het praten met het eindpunt.
isShared boolean Geeft aan of het service-eindpunt wordt gedeeld met andere projecten of niet.
isReady boolean Eindpuntstatusindicator.
serviceEndpointProjectReferences Projectreferentie Hiermee stelt u de projectreferentie van het service-eindpunt in.

Voor een lijst met ondersteunde typen en de vereiste invoerparameters kunt u de volgende REST API-vermelding uitvoeren:

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

Voor een beschrijving van serviceverbindingstypen en andere parameters die ze mogelijk nodig hebben, raadpleegt u Serviceverbindingen beheren, Algemene serviceverbindingstypen.

De opdracht create uitvoeren

U maakt een service-eindpunt met de az devops service-endpoint create opdracht.

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

Parameters

  • service-eindpuntconfiguratie: vereist. Naam van het json configuratiebestand met de configuratie van het service-eindpunt.
  • codering: optioneel. Codering van het invoerbestand. Standaard is utf-8. Geaccepteerde waarden: ascii, utf-16be, utf-16le, . utf-8
  • organisatie: URL van Azure DevOps-organisatie. U kunt de standaardorganisatie configureren met behulp van az devops configure -d organization=ORG_URL. Vereist als deze niet als standaard is geconfigureerd.
  • project: naam of id van het project. U kunt het standaardproject configureren met behulp van az devops configure -d project=NAME_OR_ID. Vereist als deze niet als standaard is geconfigureerd.

Opmerking

Met de volgende opdracht maakt u een serviceverbinding die verwijst naar het ServiceConnectionGeneric.json bestand.

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

Wanneer het maken is voltooid, wordt er een Id toegewezen aan het service-eindpunt en wordt een antwoord geretourneerd dat vergelijkbaar is met de volgende syntaxis.

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

Een GitHub-service-eindpunt maken

Als u een GitHub-service-eindpunt wilt maken, gebruikt u de az devops service-endpoint github create volgende opdracht:

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

In de interactieve modus vraagt de az devops service-endpoint github create opdracht om een GitHub PAT-token met behulp van een promptbericht, voor automatiseringsdoeleinden stelt u het GitHub PAT-token in met behulp van de AZURE_DEVOPS_EXT_GITHUB_PAT omgevingsvariabele. Zie Aanmelden met een persoonlijk toegangstoken (PAT) voor meer informatie.

Een Azure Resource Manager-service-eindpunt maken

Gebruik de az devops service-endpoint azurerm create opdracht om een Azure Resource Manager-service-eindpunt te maken.

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]

Een clientgeheim/wachtwoord gebruiken

In de interactieve modus vraagt de az devops service-endpoint azurerm create opdracht om een wachtwoord/geheim voor de service-principal met behulp van een promptbericht. Voor automatiseringsdoeleinden stelt u het wachtwoord/geheim van de service-principal in met behulp van de AZURE_DEVOPS_EXT_AZURE_RM_SERVICE_PRINCIPAL_KEY omgevingsvariabele.

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

Een clientcertificaat gebruiken

Als de Microsoft Entra-toepassing gebruikmaakt van een certificaat voor verificatie, maakt u een PEM-bestand voor het certificaat en geeft u het pad door naar het PEM-bestand met behulp van het --azure-rm-service-principal-certificate-path argument.

U kunt een.pem-bestand maken met behulp van openssl:

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