Ponto de extremidade do serviço CLI do Azure DevOps

Serviços de DevOps do Azure

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 endpoints/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 sobre a 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 azure cli para obter detalhes, listar, excluir e atualizar um ponto de extremidade de serviço. Consulte Índice para exemplos de 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 do 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 suporta a criação de qualquer tipo de ponto de extremidade de serviço.

Parâmetro Type Description
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 Ponto de extremidadeAutorização Define os dados de autorização para falar com o ponto de extremidade.
isShared boolean Indica se o ponto de extremidade do 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 do serviço.

Para obter uma lista de tipos suportados 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 de conexão de serviço comuns.

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 do serviço.
  • codificação: Opcional. Codificação do arquivo de entrada. A predefinição é utf-8. Valores aceites: ascii, , , utf-8utf-16beutf-16le.
  • org: URL da organização do Azure DevOps. Você pode configurar a organização padrão usando az devops configure -d organization=ORG_URLo . 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 -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 fazendo referência ao ServiceConnectionGeneric.json arquivo.

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

Após a criação bem-sucedida, um Id é atribuído ao ponto de extremidade do 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 GitHub

Para criar um ponto de extremidade de serviço 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 um token PAT do GitHub usando uma mensagem de prompt, para fins de automação defina o az devops service-endpoint github create 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 (PAT).

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 usa 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 a.pem usando openssl:

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