Dela via


Azure DevOps CLI-tjänstslutpunkt

Azure DevOps Services

Med kommandot az devops service-endpoint kan du skapa och hantera olika typer av tjänstanslutningar. Med en tjänstanslutning kan Azure DevOps kommunicera med en extern tjänst, till exempel Azure, Bitbucket, Kubernetes, Maven, GitHub med mera. Med az devops service-endpointkan du utföra följande uppgifter:

  • Skapa en tjänstslutpunkt med hjälp av en konfigurationsfil
  • Uppdatera en tjänstslutpunkt
  • Hantera GitHub-tjänstslutpunkter/anslutningar
  • Hantera Azure Resource Manager-tjänstslutpunkter/anslutningar
  • Lista tjänstslutpunkter som definierats för ett projekt
  • Hämta information om en tjänstslutpunkt.

Information om kommandosyntax finns i az devops service-endpoint. Syntax för REST-API:et för tjänstslutpunkter finns i Slutpunkter.

Du kan också använda azure cli-kommandon för att hämta information, lista, ta bort och uppdatera en tjänstslutpunkt. Se Index till Azure DevOps CLI-exempel, tjänstslutpunkter eller tjänstanslutningar.

Information om hur du använder webbportalen för att skapa och redigera tjänstanslutningar finns i Hantera tjänstanslutningar.

Skapa tjänstslutpunkt med hjälp av en konfigurationsfil

Om du vill skapa en tjänstslutpunkt med hjälp av en konfigurationsfil måste du först definiera konfigurationsfilen. Innehållet i konfigurationsfilen varierar beroende på typen av anslutning, till exempel Azure Classic, Azure Data Explorer, Bitbucket Cloud, Chef med mera.

Konfigurationsfilformat

Följande syntax visar json formatet för konfigurationsfilen.

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

I följande tabell beskrivs varje parameter. Parametern type stöder skapande av alla typer av tjänstslutpunkter.

Parameter Typ Description
name sträng Anger slutpunktens eget namn.
type sträng Anger slutpunktens typ.
url sträng Anger slutpunktens URL.
authorization EndpointAuthorization Anger auktoriseringsdata för att prata med slutpunkten.
isShared boolean Anger om tjänstslutpunkten delas med andra projekt eller inte.
isReady boolean Slutpunktstillståndsindikator.
serviceEndpointProjectReferences Projektreferens Anger projektreferens för tjänstslutpunkten.

För en lista över typer som stöds och deras obligatoriska indataparametrar kan du använda följande REST API-post:

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

En beskrivning av tjänstanslutningstyper och andra parametrar som de kan kräva finns i Hantera tjänstanslutningar, Common Service-anslutningstyper.

Kör kommandot create

Du skapar en tjänstslutpunkt med az devops service-endpoint create kommandot .

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

Parametrar

  • service-endpoint-configuration: Krävs. Namnet på konfigurationsfilen json med tjänstslutpunktskonfiguration.
  • kodning: Valfritt. Kodning av indatafilen. Standard är utf-8. Accepterade värden: ascii, utf-16be, utf-16le, utf-8.
  • org: Url för Azure DevOps-organisationen. Du kan konfigurera standardorganisationen med .az devops configure -d organization=ORG_URL Krävs om det inte är konfigurerat som standard.
  • project: Projektets namn eller ID. Du kan konfigurera standardprojektet med .az devops configure -d project=NAME_OR_ID Krävs om det inte är konfigurerat som standard.

Exempel

Följande kommando skapar en tjänstanslutning som refererar till ServiceConnectionGeneric.json filen.

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

När det har skapats tilldelas en Id till tjänstslutpunkten och ett svar som liknar följande syntax returneras.

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

Skapa en GitHub-tjänstslutpunkt

Om du vill skapa en GitHub-tjänstslutpunkt använder du az devops service-endpoint github create kommandot:

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

I interaktivt läge az devops service-endpoint github create frågar kommandot efter en GitHub PAT-token med hjälp av ett promptmeddelande, för automatiseringsändamål ange GitHub PAT-token med hjälp av AZURE_DEVOPS_EXT_GITHUB_PAT miljövariabeln. Mer information finns i Logga in med en personlig åtkomsttoken (PAT).

Skapa en Azure Resource Manager-tjänstslutpunkt

Använd kommandot för az devops service-endpoint azurerm create att skapa en Azure Resource Manager-tjänstslutpunkt.

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]

Använda en klienthemlighet/ett lösenord

I interaktivt läge az devops service-endpoint azurerm create frågar kommandot efter ett lösenord/hemlighet för tjänstens huvudnamn med hjälp av ett meddelande. För automatiseringsändamål anger du lösenordet/hemligheten för tjänstens huvudnamn med hjälp av AZURE_DEVOPS_EXT_AZURE_RM_SERVICE_PRINCIPAL_KEY miljövariabeln.

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

Använda ett klientcertifikat

Om Microsoft Entra-programmet använder certifikat för autentisering skapar du en .pem-fil för certifikatet och skickar sökvägen till .pem-filen med argumentet --azure-rm-service-principal-certificate-path .

Du kan skapa en.pem-fil med hjälp av openssl:

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