Compartilhar via


Ponto de extremidade de serviço da CLI do Azure DevOps

Azure DevOps Services

Com o az devops service-endpoint comando, você pode criar e gerenciar diferentes tipos de conexões de serviço. Uma conexão de serviço permite que o Azure DevOps se comunique com um serviço externo, como Azure, Bitbucket, Kubernetes, Maven, GitHub e muito mais. Com az devops service-endpointo , você pode executar 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
  • Gerenciar pontos de extremidade/conexões de serviço do GitHub
  • Gerenciar pontos de extremidade/conexões de serviço do Azure Resource Manager
  • Listar pontos de extremidade de serviço definidos para um projeto
  • Obtenha os detalhes de um ponto de extremidade de serviço.

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

Você também pode usar comandos da CLI do Azure para obter detalhes, listar, excluir e atualizar um ponto de extremidade de serviço. Consulte Indexar exemplos da CLI do Azure DevOps, 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.

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

Para criar um ponto de extremidade de serviço usando um arquivo de configuração, você deve primeiro definir 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, Chef e muito mais.

Formato de arquivo de configuração

A sintaxe a seguir mostra o json formato do arquivo de configuração.

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

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

Parâmetro Tipo Descrição
name string Define o nome amigável do ponto de extremidade.
type string Define o tipo do ponto de extremidade.
url string Define a url do ponto de extremidade.
authorization Autorização de ponto de extremidade Define os dados de autorização para se comunicar com o ponto de extremidade.
isShared boolean Indica se o ponto de extremidade de serviço é compartilhado com outros projetos ou não.
isReady boolean Indicador de estado EndPoint.
serviceEndpointProjectReferences Referência do projeto Define a referência do projeto do ponto de extremidade de serviço.

Para obter uma lista de tipos com suporte e seus parâmetros de entrada necessários, você pode exercer a seguinte entrada da API REST:

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

Além disso, para obter uma descrição dos tipos de conexão de serviço e outros parâmetros que eles podem exigir, consulte Gerenciar conexões de serviço, Tipos comuns de conexão de serviço.

Execute o comando create

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

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

Parâmetros

  • service-endpoint-configuration: obrigatório. Nome do arquivo de configuração com a json configuração do ponto de extremidade de serviço.
  • codificação: opcional. Codificação do arquivo de entrada. O padrão é utf-8. Valores aceitos: ascii, utf-16be, utf-16le, utf-8.
  • org: a URL da organização do Azure DevOps. Você pode configurar a organização padrão usando az devops configure -d organization=ORG_URL. Obrigatório se não estiver configurado como padrão.
  • project: nome ou ID do projeto. Você pode configurar o grupo padrão usando az devops configure -d 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 que faz referência ao ServiceConnectionGeneric.json arquivo.

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

Após a criação bem-sucedida, an Id é atribuído ao ponto de extremidade de serviço e uma resposta semelhante à sintaxe a seguir é retornada.

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

Criar um ponto de extremidade de serviço do GitHub

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

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

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

Criar um ponto de extremidade de serviço do Azure Resource Manager

Para criar um ponto de extremidade de serviço do Azure Resource Manager, use o 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]

Usar um segredo/senha do cliente

No modo interativo, o az devops service-endpoint azurerm create comando solicita uma senha/segredo da entidade de serviço usando uma mensagem de prompt. Para fins de automação, defina a senha/segredo da entidade de serviço usando a AZURE_DEVOPS_EXT_AZURE_RM_SERVICE_PRINCIPAL_KEY variável de 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>

Usar um certificado de cliente

Se o aplicativo Microsoft Entra usar certificado para autenticação, crie um arquivo .pem para o certificado e 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 -password pass:<password_here>