Compilación y prueba de proyectos de Go
Azure DevOps Services
Use una canalización para compilar y probar automáticamente los proyectos de Go.
Cree su primera canalización
¿No está familiarizado con Azure Pipelines? Si es así, se recomienda probar esta sección antes de pasar a otras secciones.
Bifurque el repositorio siguiente en GitHub:
https://github.com/MicrosoftDocs/pipelines-go
Inicio de sesión en Azure Pipelines
Inicie sesión en Azure Pipelines. Una vez que haya iniciado sesión, el explorador accederá a https://dev.azure.com/my-organization-name
y aparecerá el panel de Azure DevOps.
- En un explorador, vaya a dev.azure.com e inicie sesión.
- Seleccione su organización.
- Para crear un nuevo proyecto, seleccione Nuevo proyecto o Crear proyecto si va a crear el primer proyecto de la organización.
- Escriba un nombre de proyecto.
- Seleccione la visibilidad del proyecto.
- Seleccione Crear.
- En un explorador, vaya a Azure DevOps Server.
- Seleccione la colección.
- Para crear un nuevo proyecto, seleccione Nuevo proyecto o Crear proyecto si va a crear el primer proyecto de la colección.
- Escriba un nombre de proyecto.
- Seleccione la visibilidad del proyecto.
- Seleccione Crear.
Creación de la canalización
Inicie sesión en su organización de Azure DevOps y vaya a su proyecto.
Ve a Canalizaciones y selecciona Nueva canalización o Crear canalización si vas a crear tu primera canalización.
Siga los pasos del asistente y seleccione primero GitHub como ubicación del código fuente.
Puede que se le redirija a GitHub para iniciar sesión. Si es así, escriba sus credenciales de GitHub.
Cuando vea la lista de repositorios, seleccione el repositorio.
Es posible que se le redirija a GitHub para instalar la aplicación Azure Pipelines. Si es así, seleccione Aprobar e instalar.
Cuando aparezca la pestaña Configurar, seleccione Go. Aparece la nueva canalización, con el archivo YAML azure-pipelines.yml
listo para configurarse. Consulte las secciones siguientes para obtener información sobre algunas de las formas más comunes de personalizar la canalización.
Entorno de compilación
Puede usar Azure Pipelines para compilar los proyectos de Go sin configurar ninguna infraestructura propia. Puede usar agentes de Linux, macOS o Windows para ejecutar las compilaciones.
Actualice el siguiente fragmento de código en el archivo azure-pipelines.yml
para seleccionar la imagen adecuada.
pool:
vmImage: 'ubuntu-latest'
Las versiones modernas de Go están preinstaladas en agentes hospedados por Microsoft. Para conocer las versiones exactas de Go preinstaladas, consulte Agentes hospedados por Microsoft en Azure Pipelines.
Configuración de Go
A partir de Go 1.11, ya no es necesario definir un entorno de $GOPATH
, configurar un diseño de área de trabajo ni usar el módulo dep
. La administración de dependencias ahora está integrada.
Este CÓDIGO YAML implementa el comando go get
para descargar paquetes de Go y sus dependencias. Por tanto, usa go build
para generar el contenido que se publica con la tarea PublishBuildArtifacts@1
.
trigger:
- main
pool:
vmImage: 'ubuntu-latest'
steps:
- task: GoTool@0
inputs:
version: '1.13.5'
- task: Go@0
inputs:
command: 'get'
arguments: '-d'
workingDirectory: '$(System.DefaultWorkingDirectory)'
- task: Go@0
inputs:
command: 'build'
workingDirectory: '$(System.DefaultWorkingDirectory)'
- task: CopyFiles@2
inputs:
TargetFolder: '$(Build.ArtifactStagingDirectory)'
- task: PublishBuildArtifacts@1
inputs:
artifactName: drop
Build
Use go build
para compilar el proyecto de Go. Agregue el siguiente fragmento de código a su archivo azure-pipelines.yml
:
- task: Go@0
inputs:
command: 'build'
workingDirectory: '$(System.DefaultWorkingDirectory)'
Prueba
Use go test
para probar el módulo go y sus subdirectorios (./...
). Agregue el siguiente fragmento de código a su archivo azure-pipelines.yml
:
- task: Go@0
inputs:
command: 'test'
arguments: '-v'
workingDirectory: '$(System.DefaultWorkingDirectory)'
Cuando esté listo, confirme un nuevo archivo azure-pipelines.yml en el repositorio y actualice el mensaje de confirmación. Seleccione Guardar y ejecutar.
Si desea ver la canalización en acción, seleccione la compilación en la opción Trabajos del panel de Azure Pipelines.
Dado que el código parecía ser una buena coincidencia para la plantilla de Go, creamos automáticamente la canalización.
Ahora ya tiene una canalización YAML (azure-pipelines.yml
) en el repositorio que está lista para que la personalice.
Cuando esté listo para realizar cambios en la canalización, selecciónela en la página Canalizaciones y, luego, haga clic en Editar para modificar el archivo azure-pipelines.yml
.
Sugerencia
Para realizar cambios en el archivo YAML como se describe en este artículo, seleccione la canalización en la página Canalizaciones y, a continuación, seleccione Editar para abrir un editor para el archivo azure-pipelines.yml
.
Compilar e insertar imágenes en un registro de contenedor
Para la aplicación Go, también puede compilar una imagen e insertarla en un registro de contenedor.
Extensiones relacionadas
Extensión Go para Visual Studio Code (Microsoft)