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 la organización seleccionada, cree un proyecto. Si no tiene ningún proyecto en la organización, aparecerá la pantalla Cree un proyecto para empezar. De lo contrario, seleccione el botón Nuevo proyecto en la esquina superior derecha del panel.

Creación de la canalización

  1. Inicie sesión en su organización de Azure DevOps y vaya al proyecto.

  2. Vaya a Canalizaciones y seleccione Nueva canalización.

  3. Siga los pasos del asistente y seleccione primero GitHub como ubicación del código fuente.

  4. Puede que se le redirija a GitHub para iniciar sesión. Si es así, escriba sus credenciales de GitHub.

  5. Cuando vea la lista de repositorios, seleccione el repositorio.

  6. 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 Ir. Aparece la nueva canalización, con el azure-pipelines.yml archivo YAML 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 azure-pipelines.yml archivo 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.

Configurar Go

A partir de Go 1.11, ya no es necesario definir un $GOPATH entorno, configurar un diseño de área de trabajo ni usar el dep módulo. La administración de dependencias ahora está integrada.

Este CÓDIGO YAML implementa el go get comando para descargar paquetes de Go y sus dependencias. A continuación, usa go build para generar el contenido que se publica con PublishBuildArtifacts@1 la tarea.

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

Compilar

Use go build para compilar el proyecto de Go. Agregue el siguiente fragmento de código al azure-pipelines.yml archivo:

- 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 al azure-pipelines.yml archivo:

- 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.

Botón Guardar y ejecutar en una nueva canalización de YAML

Si desea ver la canalización en acción, seleccione la compilación en la opción Trabajos en el panel de Azure Pipelines. Compilación de canalización en acción cuando se selecciona la opción Trabajos 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 tiene una canalización YAML en funcionamiento (azure-pipelines.yml) en el repositorio que está lista para personalizarla.

Cuando esté listo para realizar cambios en la canalización, selecciónelo en la página Canalizaciones y, a continuación, Edite el azure-pipelines.yml archivo.

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 azure-pipelines.yml archivo. Captura de pantalla que muestra cómo editar La canalización de Azure desde el panel con más opciones seleccionadas y Editar resaltadas.

Compilación de una imagen e inserción en el registro de contenedor

Para la aplicación Go, también puede compilar una imagen e insertarla en un registro de contenedor.

Extensión go para Visual Studio Code (Microsoft)