Сборка и тестирование проектов 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. В браузере перейдите к dev.azure.com и войдите в систему.
  2. Выберите свою организацию.
  3. Создайте новый проект, выбрав новый проект или создав проект при создании первого проекта в организации.
  4. Заполните поле Имя проекта.
  5. Выберите видимость проекта.
  6. Нажмите кнопку создания.
  1. В браузере перейдите на сервер Azure DevOps Server.
  2. Выберите коллекцию.
  3. Создайте новый проект, выбрав новый проект или создав проект при создании первого проекта в коллекции.
  4. Заполните поле Имя проекта.
  5. Выберите видимость проекта.
  6. Нажмите кнопку создания.

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

  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 в репозиторий и обновите сообщение фиксации. Выберите Сохранить и выполнить.

Кнопка

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

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

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

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

Совет

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

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

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

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