Compartilhar via


Use o suporte ao comando Go install no Azure Repos Git

Serviços de DevOps do Azure | Azure DevOps Server 2022 - Azure DevOps Server 2019

Go é uma linguagem de programação de código aberto, também conhecida como Golang. Em Go, você pode usar o install comando para baixar e instalar pacotes e dependências. O Azure Repos Git fornece suporte para go install dentro de um repositório do Azure Repos Git. Com go installo , você pode baixar pacotes com suas dependências nomeadas pelos caminhos de importação. Você também pode usar a palavra-chave import dentro de um arquivo go para especificar o caminho de importação, usando a mesma sintaxe descrita nas seções a seguir.

Vá instalar com projetos públicos

Se o repositório Git do Azure Repos estiver em um projeto público, você poderá usar go install usando a URL do repositório da Web no formato a seguir. Para a versão, você pode usar latest ou uma versão específica.

go install dev.azure.com/<organization>/<project>/_git/<repo>.git@<version>

Você também pode instalar um pacote Go em uma subpasta de um repositório anexando os nomes das subpastas, conforme mostrado nos exemplos a seguir.

go install dev.azure.com/<organization>/<project>/_git/<repo>.git/subfolder1@<version>

go install dev.azure.com/<organization>/<project>/_git/<repo>.git/subfolder1/subfolder2@<version>

Vá instalar com projetos privados

Se o repositório Git do Azure Repos for privado, você poderá autenticar usando chaves SSH, tokens de ID do Microsoft Entra (recomendado) ou PATs (Personal Access Tokens).

Importante

Para aceder a repositórios privados do Azure Repos Git usando go install, deve primeiro definir a variável de ambiente GOPRIVATE=dev.azure.com. Você pode definir essa variável de ambiente localmente antes de criar ou executar.

SSH

Para usar SSH com go install, tenha chaves SSH configuradas para o Azure DevOps, conforme descrito em Usar autenticação de chave SSH.

Quando você tiver chaves SSH configuradas, adicione esta entrada ao arquivo your.gitconfig:

[url "git@ssh.dev.azure.com:v3/<organization>/<project>/<repo>"]
	insteadOf = https://dev.azure.com/<organization>/<project>/<repo>

Com esta entrada e um formato de URL específico, agora você pode usar go installo .

Observação

Certifique-se de usar .git após o nome do repositório. Além disso, _git não está incluído no URL do pacote que está a passar para go install porque está a usar o URL SSH.

go install dev.azure.com/<organization>/<project>/<repo>.git

HTTPS

Para usar HTTPS com go install, pode autenticar usando tokens de ID do Microsoft Entra (recomendado) ou Tokens de Acesso Pessoal (PATs).

Os tokens Microsoft Entra ID fornecem melhor segurança e são o método de autenticação recomendado. Você pode obter esses tokens através de:

  • CLI do Azure (para desenvolvimento/teste):

    az account get-access-token --resource 499b84ac-1321-427f-aa17-267ca6975798 --query "accessToken" --output tsv
    
  • Service Principal (para cenários de produção/automatizados):

    • Registar uma aplicação no Microsoft Entra ID
    • Criar um segredo do cliente para o aplicativo
    • Conceder permissões apropriadas ao aplicativo no Azure DevOps
    • Use as credenciais da entidade de serviço para obter tokens programaticamente

Para obter mais informações, consulte Autenticação do Microsoft Entra.

Depois de obter o token de ID do Microsoft Entra, adicione esta entrada ao seu .gitconfig ficheiro:

[url "https://<user>:<token>@dev.azure.com/<organization>/<project>/_git/<repo>"]
	insteadOf = https://dev.azure.com/<organization>/<project>/_git/<repo>

A <user> parte pode ser qualquer string não vazia, sugerimos usar entra ou seu nome de usuário.

Sugestão

Obtenha um token único do Microsoft Entra da CLI do Azure: você pode obter rapidamente um token de ID do Microsoft Entra para operações do Git usando a CLI do Azure, que é útil para cenários de desenvolvimento e teste. Ao gerar tokens em nome de uma entidade de serviço, certifique-se de entrar como representante da entidade de serviço primeiro.

Gerenciamento de tokens: os tokens Microsoft Entra ID têm tempos de expiração, portanto, talvez seja necessário atualizá-los periodicamente. Para fluxos de trabalho automatizados, considere o uso de entidades de serviço com mecanismos de atualização de token apropriados.

Tokens de acesso pessoal (alternativo)

Se preferir usar PATs, crie uma PAT conforme descrito em Autenticar acesso com tokens de acesso pessoal. Esta PAT requer apenas o âmbito de aplicação do código (leitura).

Depois de criar o PAT, adicione esta entrada ao seu .gitconfig ficheiro:

[url "https://<user>:<token>@dev.azure.com/<organization>/<project>/_git/<repo>"]
	insteadOf = https://dev.azure.com/<organization>/<project>/_git/<repo>

A <user> parte pode ser qualquer string não vazia, sugerimos a palavra pat.

Com esta entrada e um formato de URL específico, agora você pode usar go installo .

Observação

Certifique-se de usar .git após o nome do repositório.

go install dev.azure.com/<organization>/<project>/_git/<repo>.git@<version>

Você também pode instalar um pacote Go em uma subpasta de um repositório anexando os nomes das subpastas, conforme mostrado nos exemplos a seguir.

go install dev.azure.com/<organization>/<project>/_git/<repo>.git/subfolder1@<version>

go install dev.azure.com/<organization>/<project>/_git/<repo>.git/subfolder1/subfolder2@<version>