Поделиться через


Сборка и тестирование проектов 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 и откройте нужный проект.

  2. Перейдите к конвейерам и выберите "Создать конвейер" или "Создать конвейер" при создании первого конвейера.

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

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

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

  6. Вы можете перенаправиться на 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 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, как описано в этой статье, выберите конвейер на странице Конвейеры, а затем выберите Изменить, чтобы открыть редактор для файла YAML azure-pipelines.yml. снимок экрана, демонстрирующий процесс изменения Azure Pipeline в панели с выбранными дополнительными параметрами и выделенной функцией

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

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

Расширение Go для Visual Studio Code