Compartir a través de


Use la compatibilidad con el comando Go install en Azure Repos Git

Azure DevOps Services | Azure DevOps Server 2022 | Azure DevOps Server 2019

Go es un lenguaje de programación de código abierto, también conocido como Golang. En Go, puede usar el install comando para descargar e instalar paquetes y dependencias. Azure Repos Git ofrece compatibilidad con go install dentro de un repositorio Git de Azure Repos. Con go install, puede descargar paquetes junto con sus dependencias, identificadas por las rutas de importación. También puede usar la import palabra clave dentro de un archivo Go para especificar la ruta de importación mediante la misma sintaxis descrita en las secciones siguientes.

Instalación de Go con proyectos públicos

Si el repositorio de Git de Azure Repos está en un proyecto público, puede usar go install la dirección URL del repositorio web en el formato siguiente. Para la versión, puede usar latest o una versión específica.

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

También puede instalar un paquete de Go en una subcarpeta de un repositorio anexando los nombres de subcarpetas, como se muestra en los ejemplos siguientes.

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>

Instalación de Go con proyectos privados

Si el repositorio Git de Azure Repos es privado, puede autenticarse mediante claves SSH, tokens de Microsoft Entra ID (recomendado) o tokens de acceso personal (PAT).

Importante

Para acceder a repositorios git privados de Azure Repos mediante go install, primero debe establecer la variable GOPRIVATE=dev.azure.comde entorno . Puede establecer esta variable de entorno localmente antes de compilar o ejecutar.

SSH

Para usar SSH con go install, tenga las claves SSH configuradas para Azure DevOps, tal como se describe en Uso de la autenticación de clave SSH.

Cuando tenga configuradas claves SSH, agregue esta entrada al archivo.gitconfig:

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

Con esta entrada y un formato de dirección URL específico, ahora puede usar go install.

Nota:

Asegúrese de usar .git después del nombre del repositorio. Además, _git no se incluye en la dirección URL del paquete que está pasando a go install porque está utilizando la URL SSH.

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

HTTPS

Para usar HTTPS con go install, puede autenticarse mediante tokens de Microsoft Entra ID (recomendado) o tokens de acceso personal (PATs).

Los tokens de id. de Microsoft Entra proporcionan una mayor seguridad y son el método de autenticación recomendado. Puede obtener estos tokens a través de:

  • CLI de Azure (para desarrollo y pruebas):

    az account get-access-token --resource 499b84ac-1321-427f-aa17-267ca6975798 --query "accessToken" --output tsv
    
  • Entidad de servicio (para escenarios de producción o automatizados):

    • Registro de una aplicación en Microsoft Entra ID
    • Creación de un secreto de cliente para la aplicación
    • Concesión de permisos adecuados a la aplicación en Azure DevOps
    • Uso de las credenciales de la entidad de servicio para obtener tokens de forma programática

Para más información, consulte Autenticación de Microsoft Entra.

Después de obtener el token de ID de Microsoft Entra, agregue esta entrada al archivo .gitconfig.

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

La <user> parte puede ser cualquier cadena no vacía; se recomienda usar entra o su nombre de usuario.

Sugerencia

Obtener un token de Microsoft Entra de una sola vez de la CLI de Azure: puede obtener rápidamente un token de identificador de Microsoft Entra para las operaciones de Git mediante la CLI de Azure, lo que resulta útil para escenarios de desarrollo y pruebas. Al generar tokens en nombre de una entidad de servicio, asegúrese de iniciar sesión primero como entidad de servicio .

Administración de tokens: los tokens de ID de Microsoft Entra tienen tiempos de vencimiento, por lo que podría ser necesario actualizarlos periódicamente. En el caso de los flujos de trabajo automatizados, considere la posibilidad de usar entidades de servicio con mecanismos de actualización de tokens adecuados.

Tokens de acceso personal (alternativa)

Si prefiere usar PAT, cree un PAT como se describe en Autenticación del acceso con tokens de acceso personal. Este PAT solo requiere el ámbito de Código (lectura).

Después de crear el PAT, agregue esta entrada al .gitconfig archivo:

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

La <user> parte puede ser cualquier cadena no vacía; se recomienda la palabra pat.

Con esta entrada y un formato de dirección URL específico, ahora puede usar go install.

Nota:

Asegúrese de usar .git después del nombre del repositorio.

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

También puede instalar un paquete de Go en una subcarpeta de un repositorio anexando los nombres de subcarpetas, como se muestra en los ejemplos siguientes.

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>