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