Construir e testar projetos go

Azure DevOps Services

Utilize um oleoduto para construir e testar automaticamente os seus projetos Go.

Criar o seu primeiro pipeline

Novo em Azure Pipelines? Em caso afirmativo, recomendamos que experimente esta secção antes de passar para outras secções.

Garfo o seguinte repo em GitHub:

https://github.com/MicrosoftDocs/pipelines-go

Inscreva-se nos Oleodutos Azure

Inscreva-se na Azure Pipelines. Depois de iniciar sposição, o seu navegador vai e https://dev.azure.com/my-organization-name exibe o seu dashboard Azure DevOps.

Dentro da sua organização selecionada, crie um projeto. Se não tiver projetos na sua organização, veja um Projeto Criar um projeto para começar a ser exibido. Caso contrário, selecione o botão Criar Project no canto superior direito do painel.

Criar o pipeline

  1. Inscreva-se na sua organização Azure DevOps e vá ao seu projeto.

  2. Vá a Pipelines e, em seguida, selecione Novo oleoduto.

  3. Faça os passos do assistente selecionando GitHub como a localização do seu código fonte.

  4. Pode ser redirecionado para GitHub para se inscrever. Em caso afirmativo, insira as suas credenciais GitHub.

  5. Quando vir a lista de repositórios, selecione o seu repositório.

  6. Pode ser redirecionado para GitHub instalar a aplicação Azure Pipelines. Em caso afirmativo, selecione Aprovar & instalar

Quando aparecer o separador Configurar , selecione Go.

  1. Quando o seu novo oleoduto aparecer, dê uma olhada na YAML para ver o que faz. Quando estiver pronto, selecione Save and run.

    Save and run button in a new YAML pipeline

  2. Comprometa um novo ficheiro azure-pipelines.yml para o seu repositório. Depois de ficar satisfeito com a mensagem, selecione Save e corra novamente.

    Se quiser ver o seu oleoduto em ação, selecione o trabalho de construção.

    Como o seu código parecia ser uma boa combinação para o modelo Go , criamos automaticamente o seu pipeline.

    Tem agora um oleodutoazure-pipelines.yml YAML em funcionamento () no seu repositório que está pronto para personalizar!

  3. Quando estiver pronto para fazer alterações no seu pipeline, selecione-o na página Pipelines e, em seguida, edite o azure-pipelines.yml ficheiro.

Veja as secções abaixo para saber algumas das formas mais comuns de personalizar o seu oleoduto.

Dica

Para escoar alterações no ficheiro YAML como descrito neste artigo, selecione o pipeline na página Pipelines e, em seguida, selecione Editar para abrir um editor para o azure-pipelines.yml ficheiro.

Construir ambiente

Você pode usar Azure Pipelines para construir seus projetos Go sem configurar qualquer infraestrutura própria. Você pode usar Linux, macOS ou Windows agentes para executar as suas construções.

Atualize o seguinte corte no seu azure-pipelines.yml ficheiro para selecionar a imagem apropriada.

pool:
  vmImage: 'ubuntu-latest'

As versões modernas do Go estão pré-instaladas em agentes hospedados pela Microsoft. Para versões exatas do Go pré-instalado, consulte os agentes hospedados pela Microsoft em Azure Pipelines.

Configurar Go

Começando pelo Go 1.11, já não precisa de definir um $GOPATH ambiente, configurar um layout de espaço de trabalho ou utilizar o dep módulo. A gestão da dependência está agora incorporada.

Este YAML implementa o go get comando para descarregar pacotes Go e suas dependências. Em seguida, utiliza-se go build para gerar o conteúdo que é publicado com PublishBuildArtifacts@1 a tarefa.

trigger: 
 - master

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 construir o seu projeto Go. Adicione o seguinte corte no seu azure-pipelines.yml arquivo:

- task: Go@0
  inputs:
    command: 'build'
    workingDirectory: '$(System.DefaultWorkingDirectory)'

Teste

Utilize go test para testar o módulo de movimento e as suas subdiretivas (./...). Adicione o seguinte corte no seu azure-pipelines.yml arquivo:

- task: Go@0
  inputs:
    command: 'test'
    arguments: '-v'
    workingDirectory: '$(modulePath)'

Construa uma imagem e empurre para o registo de contentores

Para a sua aplicação Go, também pode construir uma imagem e empurrá-la para um registo de contentores.

Vá extensão para Visual Studio Código (Microsoft)