Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Azure DevOps Services
Используйте Azure Pipelines для автоматического создания, тестирования и развертывания проектов Go. В этой статье показано, как создать конвейер, который создает и тестирует код Go при каждом отправке изменений в репозиторий.
Предпосылки
- Организация и проект Azure DevOps. Создайте его бесплатно.
- Проект Go в репозитории GitHub или Azure Repos. Если у вас нет проекта, можно использовать пример репозитория, указанный в этой статье.
Создание первого конвейера
Вы впервые используете 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 выберите Pipelines в меню навигации слева.
Выберите новый конвейер или создать конвейер , если этот конвейер является первым в проекте.
На экране " Где находится код " выберите GitHub.
Возможно, вас перенаправят на GitHub для входа. В этом случае введите учетные данные GitHub.
На экране "Выбор репозитория" выберите репозиторий , в который находится приложение .NET.
Вы можете перенаправиться на GitHub, чтобы установить приложение Azure Pipelines. В этом случае выберите " Утвердить" и "Установить".
Когда появится вкладка Настройка, выберите Go. Появится новый конвейер с azure-pipelines.yml YAML-файлом, готовым к настройке. Дополнительные сведения о более распространенных способах настройки конвейера см. в следующих разделах.
Среда разработки и сборки
Azure Pipelines можно использовать для создания проектов Go без настройки собственной инфраструктуры. Для выполнения сборок можно использовать агенты Linux, macOS или Windows.
Обновите следующий фрагмент кода в файле azure-pipelines.yml, чтобы выбрать соответствующее изображение.
pool:
vmImage: 'ubuntu-latest'
Современные версии Go предустановлены на агентах, размещенных на серверах Microsoft. Для точных версий предварительно установленного Go см. сведения о размещенных в Майкрософт агентах в Azure Pipelines.
Настройка Go
Это важно
Поддержка версий Go: Проект Go больше не поддерживает версии Go до версии 1.11, и эти версии не получают обновления системы безопасности. Агенты, размещенные корпорацией Майкрософт, включают только поддерживаемые в настоящее время версии Go. Если проект использует Go 1.10 или более ранней версии, обновите до Go 1.21 или более поздней версии, чтобы воспользоваться встроенной поддержкой модулей, исправлениями безопасности и улучшениями производительности. См. историю выпусков Go для получения информации о поддержке версий.
Начиная с Go 1.11, больше не нужно определять $GOPATH переменную среды, настраивать макет рабочей области или использовать dep модуль. Теперь управление зависимостями встроено с помощью модулей Go.
Этот YAML реализует команду go get для скачивания пакетов Go и их зависимостей. Затем используется go build для создания содержимого, которое публикуется задачей PublishBuildArtifacts@1.
trigger:
- main
pool:
vmImage: 'ubuntu-latest'
steps:
- task: GoTool@0
inputs:
version: '1.22' # Use a currently supported Go version
- 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, Azure Pipelines автоматически создала конвейер.
Теперь у вас есть рабочий конвейер YAML (azure-pipelines.yml) в репозитории, который готов к настройке!
Когда вы будете готовы внести изменения в конвейер, выберите его на странице конвейеров и изменитеazure-pipelines.yml файл.
Подсказка
Чтобы внести изменения в файл YAML, как описано в этой статье, выберите конвейер на странице Конвейеры, а затем выберите Изменить, чтобы открыть редактор для файла YAML azure-pipelines.yml.
Создание образа и отправка в реестр контейнеров Azure
Для приложения Go можно также создать образ и отправить его в реестр контейнеров.