Endpoint servizio dell'interfaccia della riga di comando di Azure DevOps

Servizi di Azure DevOps

Con il az devops service-endpoint comando è possibile creare e gestire diversi tipi di connessioni al servizio. Una connessione al servizio consente ad Azure DevOps di comunicare con un servizio esterno, ad esempio Azure, Bitbucket, Kubernetes, Maven, GitHub e altro ancora. Con az devops service-endpointè possibile eseguire le attività seguenti:

  • Creare un endpoint di servizio usando un file di configurazione
  • Aggiornare un endpoint di servizio
  • Gestire endpoint/connessioni del servizio GitHub
  • Gestire endpoint servizio/connessioni di Azure Resource Manager
  • Elencare gli endpoint di servizio definiti per un progetto
  • Ottenere i dettagli di un endpoint di servizio.

Per informazioni dettagliate sulla sintassi dei comandi, vedere az devops service-endpoint. Per la sintassi nell'API REST per gli endpoint di servizio, vedere Endpoint.

È anche possibile usare i comandi dell'interfaccia della riga di comando di Azure per ottenere dettagli, elencare, eliminare e aggiornare un endpoint di servizio. Vedere Esempi dell'interfaccia della riga di comando di Azure DevOps, endpoint di servizio o connessioni al servizio.

Per usare il portale Web per creare e modificare le connessioni al servizio, vedere Gestire le connessioni al servizio.

Creare un endpoint di servizio usando un file di configurazione

Per creare un endpoint di servizio usando un file di configurazione, è prima necessario definire il file di configurazione. Il contenuto del file di configurazione varia a seconda del tipo di connessione, ad esempio Azure classico, Azure Esplora dati, Bitbucket Cloud, Chef e altro ancora.

Formato del file di configurazione

La sintassi seguente illustra il json formato per il file di configurazione.

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

Nella tabella seguente viene descritto ogni parametro. Il type parametro supporta la creazione di qualsiasi tipo di endpoint di servizio.

Parametro Tipo Descrzione
name string Imposta il nome descrittivo dell'endpoint.
type string Imposta il tipo dell'endpoint.
url string Imposta l'URL dell'endpoint.
authorization EndpointAuthorization Imposta i dati di autorizzazione per comunicare con l'endpoint.
isShared boolean Indica se l'endpoint del servizio è condiviso con altri progetti o meno.
isReady boolean Indicatore di stato endpoint.
serviceEndpointProjectReferences Riferimento al progetto Imposta il riferimento al progetto dell'endpoint del servizio.

Per un elenco dei tipi supportati e dei relativi parametri di input necessari, è possibile eseguire la voce dell'API REST seguente:

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

Per una descrizione dei tipi di connessione del servizio e di altri parametri che potrebbero essere necessari, vedere Gestire le connessioni al servizio, tipi di connessione common service.

Eseguire il comando create

Si crea un endpoint di servizio con il az devops service-endpoint create comando .

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

Parametri

  • service-endpoint-configuration: obbligatorio. Nome del json file di configurazione con la configurazione dell'endpoint di servizio.
  • encoding: facoltativo. Codifica del file di input. Il valore predefinito è utf-8. Valori accettati: ascii, utf-16be, utf-16le, utf-8.
  • org: URL dell'organizzazione di Azure DevOps. È possibile configurare l'organizzazione predefinita usando az devops configure -d organization=ORG_URL. Obbligatorio se non configurato come predefinito.
  • project: nome o ID del progetto. È possibile configurare il progetto predefinito usando az devops configure -d project=NAME_OR_ID. Obbligatorio se non configurato come predefinito.

Esempio

Il comando seguente crea una connessione al servizio che fa riferimento al ServiceConnectionGeneric.json file.

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

Al termine della creazione, viene assegnato un oggetto Id all'endpoint del servizio e viene restituita una risposta simile alla sintassi seguente.

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

Creare un endpoint del servizio GitHub

Per creare un endpoint del servizio GitHub, usare il az devops service-endpoint github create comando :

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

In modalità interattiva, il az devops service-endpoint github create comando chiede un token PAT gitHub usando un messaggio di prompt, allo scopo di automatizzare impostare il token PAT di GitHub usando la AZURE_DEVOPS_EXT_GITHUB_PAT variabile di ambiente. Per altre informazioni, vedere Accedere con un token di accesso personale .

Creare un endpoint del servizio Azure Resource Manager

Per creare un endpoint del servizio Azure Resource Manager, usare il az devops service-endpoint azurerm create comando .

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]

Usare un segreto client/password

In modalità interattiva, il az devops service-endpoint azurerm create comando richiede una password o un segreto dell'entità servizio usando un messaggio di prompt. Ai fini dell'automazione, impostare la password o il segreto dell'entità servizio usando la AZURE_DEVOPS_EXT_AZURE_RM_SERVICE_PRINCIPAL_KEY variabile di ambiente.

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

Usare un certificato client

Se l'applicazione Microsoft Entra usa il certificato per l'autenticazione, creare un file con estensione pem per il certificato e passare il percorso al file con estensione pem usando l'argomento --azure-rm-service-principal-certificate-path .

È possibile creare un file con estensione pem usando openssl:

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