Partilhar via


Ponto de extremidade de serviço do Azure DevOps CLI

Serviços de DevOps do Azure

Uma conexão de serviço permite que o Azure DevOps se comunique com um serviço externo, como Azure, Bitbucket, Kubernetes, Maven e GitHub. Com o az devops service-endpoint comando, você pode criar e gerenciar diferentes tipos de conexões de serviço. Você pode realizar as seguintes tarefas:

  • Criar um ponto de extremidade de serviço usando um arquivo de configuração
  • Atualizar um ponto de extremidade de serviço
  • Gerir endpoints e conexões de serviço do GitHub
  • Gerenciar pontos de extremidade e conexões de serviço do Azure Resource Manager
  • Listar pontos de extremidade de serviço definidos para um projeto
  • Obter os detalhes de um endpoint de serviço

Para obter sintaxe de comando detalhada, consulte az devops service-endpoint. Para obter a sintaxe na API REST para pontos de extremidade de serviço, consulte Pontos de extremidade.

Você pode usar os comandos da CLI do Azure para obter detalhes, listar, excluir e atualizar um ponto de extremidade de serviço. Consulte Pontos de extremidade de serviço ou conexões de serviço.

Para usar o portal da Web para criar e editar conexões de serviço, consulte Gerenciar conexões de serviço.

Dica

Os exemplos neste artigo usam entidades de serviço em vez da autenticação básica como um método mais seguro para autenticação. Para obter mais informações, consulte Usar entidades de serviço & identidades gerenciadas no Azure DevOps.

Criar ponto de extremidade de serviço usando um arquivo de configuração

Para criar um endpoint de serviço usando um arquivo de configuração, primeiro defina o arquivo de configuração. O conteúdo do arquivo de configuração difere dependendo do tipo de conexão, como Azure Classic, Azure Data Explorer, Bitbucket Cloud ou Chef.

Formato do arquivo de configuração

A sintaxe a seguir mostra o formato JSON para o arquivo de configuração.

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

A tabela a seguir descreve cada parâmetro. O type parâmetro suporta a criação de qualquer tipo de ponto de extremidade de serviço.

Parâmetro Tipo Descrição
name cadeia (de caracteres) Define o nome amigável do ponto de extremidade.
type cadeia (de caracteres) Define o tipo do ponto de extremidade.
url cadeia (de caracteres) Define o URL do ponto de extremidade.
authorization Ponto de extremidadeAutorização Configura os dados de autorização para comunicar com o endpoint.
isShared Booleano Indica se o ponto de extremidade do serviço é compartilhado com outros projetos.
isReady Booleano Indicador de estado EndPoint.
serviceEndpointProjectReferences Referência do Projeto Estabelece a referência do projeto para o ponto de extremidade do serviço.

Para obter uma lista de tipos suportados e seus parâmetros de entrada necessários, revise a seguinte entrada da API REST:

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

Para obter uma descrição dos tipos e parâmetros de conexão de serviço, consulte Tipos de conexão de serviço comuns.

Execute o comando create

Você cria um ponto de extremidade de serviço utilizando o comando az devops service-endpoint create.

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

Parâmetros

  • service-endpoint-configuration: Obrigatório. Nome do ficheiro de configuração json com a configuração do ponto de extremidade do serviço.
  • codificação: Opcional. Codificação do arquivo de entrada. A predefinição é utf-8. Valores aceites: ascii, utf-16be, utf-16le, utf-8.
  • organização: URL da organização do Azure DevOps. Você pode configurar a organização padrão usando az devops configure --defaults organization=ORG_URL. Obrigatório se não estiver configurado como padrão.
  • projeto: Nome ou ID do projeto. Você pode configurar o projeto padrão usando az devops configure --defaults project=NAME_OR_ID. Obrigatório se não estiver configurado como padrão.

Exemplo

O comando a seguir cria uma conexão de serviço fazendo referência ao arquivo ServiceConnectionGeneric.json .

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

Após a criação, o comando atribui um Id ao ponto de extremidade do serviço. Este exemplo retorna o resultado a seguir.

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

Criar um endpoint de serviço do GitHub

Para criar um endpoint de serviço do GitHub, use o comando az devops service-endpoint github create.

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

No modo interativo, o comando solicita o az devops service-endpoint github createtoken PAT do GitHub. Para fins de automação, defina o token PAT do GitHub usando a AZURE_DEVOPS_EXT_GITHUB_PAT variável de ambiente. Para obter mais informações, consulte Entrar com um token de acesso pessoal.

Criar um ponto de extremidade de serviço do Gestor de Recursos do Azure

Para criar um endpoint de serviço do Azure Resource Manager, utilize o comando 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]

Usar um segredo de cliente

No modo interativo, o comando az devops service-endpoint azurerm create solicita um segredo da entidade de serviço. Para fins de automação, configure o segredo da entidade de serviço usando a variável de ambiente 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>

Usar um certificado de cliente

Se o aplicativo Microsoft Entra usa certificado para autenticação, crie um arquivo .pem para o certificado. Passe o caminho para o arquivo .pem usando o --azure-rm-service-principal-certificate-path argumento.

Você pode criar um arquivo .pem usando OpenSSL:

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