Сборка и тестирование проектов 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.
Создайте проект в выбранной организации. Если у вас нет проектов в организации, отобразится экран Создайте проект, чтобы приступить к работе. В противном случае нажмите кнопку Создать проект в правом верхнем углу панели мониторинга.
Создание конвейера
Войдите в организацию Azure DevOps и перейдите к проекту.
Выберите Конвейеры, а затем — Новый конвейер.
Выполните все шаги мастера, выбрав GitHub в качестве расположения исходного кода.
Возможно, вам придется выполнить вход в GitHub. Для этого введите учетные данные GitHub.
Когда появится список репозиториев, выберите свой.
Возможно, вы перейдете на сайт 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.
Так как ваш код хорошо подходит для шаблона Go , мы автоматически создали конвейер.
Теперь в репозитории есть рабочий конвейер YAML (azure-pipelines.yml
), готовый к настройке.
Когда вы будете готовы внести изменения в конвейер, выберите его на странице Конвейеры и выберите Изменитьazure-pipelines.yml
файл.
Совет
Чтобы внести изменения в файл YAML, как описано в этой статье, выберите конвейер на странице Конвейеры , а затем нажмите кнопку Изменить , чтобы открыть редактор файла azure-pipelines.yml
.
Создание образа и отправка в реестр контейнеров
Для приложения Go можно также создать образ и отправить его в реестр контейнеров.
Связанные расширения
Расширение Go для Visual Studio Code (Майкрософт)