Сборка и тестирование проектов Go

Azure DevOps Services

Используйте конвейер для автоматической сборки и тестирования проектов Go.

Создание первого конвейера

Не знакомы с Azure Pipelines? Если это так, мы рекомендуем попробовать этот раздел, прежде чем переходить к другим разделам.

Создайте вилку для следующего репозитория на GitHub:

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

Вход в Azure Pipelines

Войдите в Azure Pipelines. После входа в браузере откроется https://dev.azure.com/my-organization-name и отобразится панель мониторинга Azure DevOps.

Создайте проект в выбранной организации. Если у вас нет проектов в организации, отобразится экран Создайте проект, чтобы приступить к работе. В противном случае нажмите кнопку Создать проект в правом верхнем углу панели мониторинга.

Создание конвейера

  1. Войдите в организацию Azure DevOps и перейдите к проекту.

  2. Выберите Конвейеры, а затем — Новый конвейер.

  3. Выполните все шаги мастера, выбрав GitHub в качестве расположения исходного кода.

  4. Возможно, вам придется выполнить вход в GitHub. Для этого введите учетные данные GitHub.

  5. Когда появится список репозиториев, выберите свой.

  6. Возможно, вы перейдете на сайт GitHub, чтобы установить приложение Azure Pipelines. В этом случае выберите Утвердить и установить).

Когда откроется вкладка Настройка , нажмите кнопку Перейти. Откроется новый конвейер с готовым к настройке azure-pipelines.yml YAML-файлом. Ознакомьтесь со следующими разделами, чтобы узнать о некоторых распространенных способах настройки конвейера.

Среда сборки

Вы можете использовать Azure Pipelines для создания проектов Go без настройки собственной инфраструктуры. Для запуска сборок можно использовать агенты Linux, macOS или Windows.

Обновите следующий фрагмент в azure-pipelines.yml файле, чтобы выбрать соответствующее изображение.

pool:
  vmImage: 'ubuntu-latest'

Современные версии Go предварительно установлены на агентах, размещенных в Майкрософт. Точные версии предустановленного Go см. в статье Агенты, размещенные в Microsoft, в Azure Pipelines.

Настройка Go

Начиная с Go 1.11 вам больше не нужно определять $GOPATH среду, настраивать макет рабочей области или использовать dep модуль. Управление зависимостями теперь встроено.

Этот YAML реализует go get команду для скачивания пакетов Go и их зависимостей. Затем он использует go build для создания содержимого, опубликованного с 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

Сборка

Используйте go build для сборки проекта Go. Добавьте следующий фрагмент кода в azure-pipelines.yml файл:

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

Тест

Используйте go test для тестирования модуля Go и его подкаталогов (./...). Добавьте следующий фрагмент кода в azure-pipelines.yml файл:

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

Когда вы будете готовы, зафиксируйте новый файл azure-pipelines.yml в репозитории и обновите сообщение о фиксации. Выберите Сохранить и запустить.

Кнопка

Если вы хотите watch конвейера в действии, выберите сборку в параметре Задания на панели мониторинга Azure Pipelines. Сборка конвейера в действии при выборе параметра Задания Azure Pipelines.

Так как ваш код хорошо подходит для шаблона Go , мы автоматически создали конвейер.

Теперь в репозитории есть рабочий конвейер YAML (azure-pipelines.yml), готовый к настройке.

Когда вы будете готовы внести изменения в конвейер, выберите его на странице Конвейеры и выберите Изменитьazure-pipelines.yml файл.

Совет

Чтобы внести изменения в файл YAML, как описано в этой статье, выберите конвейер на странице Конвейеры , а затем нажмите кнопку Изменить , чтобы открыть редактор файла azure-pipelines.yml . Снимок экрана: изменение Azure Pipeline на панели мониторинга с выбранным параметром

Создание образа и отправка в реестр контейнеров

Для приложения Go можно также создать образ и отправить его в реестр контейнеров.

Расширение Go для Visual Studio Code (Майкрософт)