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

Azure DevOps Services | Azure DevOps Server 2022 — Azure DevOps Server 2019

Это пошаговое руководство по использованию Azure Pipelines для создания примера приложения из репозитория Git. В этом руководстве используются конвейеры YAML, настроенные с помощью редактора конвейера YAML. Если вместо этого вы хотите использовать классические конвейеры, см. раздел "Определение классического конвейера". Инструкции по использованию TFVC см. в статье о сборке репозиториев TFVC.

Предварительные требования — Azure DevOps

Убедитесь, что у вас есть указанные ниже компоненты.

  • Учетная запись GitHub, в которой можно создать репозиторий. Создайте ее бесплатно.

  • Организация Azure DevOps. Создайте ее бесплатно. Если у вашей команды уже есть организация Azure DevOps, убедитесь, что вы являетесь администратором проекта Azure DevOps, который вы хотите использовать.

  • Возможность запуска конвейеров на размещенных агентах Майкрософт. Чтобы использовать агенты, размещенные Корпорацией Майкрософт, ваша организация Azure DevOps должна иметь доступ к размещенным в Майкрософт параллельным заданиям. Вы можете приобрести параллельное задание или запросить бесплатное предоставление.

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

Получение примера кода Java

Чтобы приступить к работе, введите следующий репозиторий в учетную запись GitHub.

https://github.com/MicrosoftDocs/pipelines-java

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

  1. Войдите в свою организацию Azure DevOps и откройте нужный проект.

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

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

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

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

  6. Вы можете перенаправиться на GitHub, чтобы установить приложение Azure Pipelines. В этом случае выберите " Утвердить" и "Установить".

  1. Azure Pipelines будет анализировать репозиторий и рекомендовать шаблон конвейера Maven .

  2. Когда появится новый конвейер, просмотрите YAML, чтобы узнать функциональность. Когда будете готовы, выберите Сохранить и запустить.

  3. Вам будет предложено зафиксировать новый azure-pipelines.yml файл в репозитории. После того как вы будете довольны сообщением, нажмите кнопку "Сохранить и снова запустить ".

    Если вы хотите посмотреть конвейер в действии, выберите задание сборки.

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

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

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

Узнайте больше о работе с Java в конвейере.

Просмотр конвейеров и управление ими

Вы можете просматривать конвейеры и управлять ими, выбрав конвейеры из меню слева, чтобы перейти на целевую страницу конвейеров.

Снимок экрана: целевая страница конвейеров.

На целевой странице конвейеров можно просматривать конвейеры и запуски конвейеров, создавать и импортировать конвейеры, управлять безопасностью и детализацией конвейера и выполнять сведения о выполнении.

Выберите "Последние ", чтобы просмотреть недавно запущенные конвейеры (представление по умолчанию) или выберите "Все ", чтобы просмотреть все конвейеры.

Снимок экрана: параметры просмотра конвейера на целевой странице конвейеров.

Выберите конвейер для управления этим конвейером и просмотра запусков. Выберите номер сборки для последнего запуска, чтобы просмотреть результаты этой сборки, выберите имя ветви, чтобы просмотреть ветвь для этого запуска или выбрать контекстное меню, чтобы запустить конвейер и выполнить другие действия управления.

Снимок экрана: недавно запущенные конвейеры.

Выберите "Запуски" , чтобы просмотреть все запуски конвейера. При необходимости можно отфильтровать отображаемые запуски.

Снимок экрана: запуски конвейера.

Выберите запуск конвейера, чтобы просмотреть сведения об этом выполнении.

Вы можете выбрать сохранение или удаление запуска из контекстного меню. Дополнительные сведения о хранении запуска см. в политиках хранения сборки и выпуска.

Снимок экрана: контекстное меню запуска конвейера.

Просмотр сведений о конвейере

Страница сведений для конвейера позволяет просматривать этот конвейер и управлять ими.

Снимок экрана: страница сведений о конвейере.

Выберите "Изменить", чтобы изменить конвейер. Дополнительные сведения см. в редакторе конвейера YAML. Вы также можете изменить конвейер, изменив файл azure-pipelines.yml непосредственно в репозитории, на котором размещен конвейер.

Просмотр сведений о выполнении конвейера

В сводке по запуску конвейера можно просмотреть состояние выполнения, как во время его выполнения, так и при завершении.

Снимок экрана: сводка по выполнению конвейера.

В области сводки можно просмотреть сведения о задании и стадии, скачать артефакты и перейти к связанным фиксациям, результатам теста и рабочим элементам.

Задания и этапы

В области заданий отображается обзор состояния этапов и заданий. На этой панели может быть несколько вкладок в зависимости от того, имеет ли конвейер этапы и задания или просто задания. В этом примере конвейер состоит из двух этапов сборки и развертывания. Для детализации действий конвейера можно выбрать задание в области этапов или заданий .

Снимок экрана: задания конвейера и этапы.

Выберите задание, чтобы просмотреть шаги для этого задания.

Снимок экрана: задачи конвейера.

В представлении шагов можно просмотреть состояние и сведения о каждом шаге. Из дополнительных действий можно переключать метки времени или просматривать необработанный журнал всех шагов в конвейере.

Снимок экрана: меню содержимого задач конвейера.

Отмена и повторная запуск конвейера

Если конвейер запущен, его можно отменить, нажав кнопку "Отмена". Если выполнение завершено, можно повторно запустить конвейер, нажав кнопку "Запустить новое".

Снимок экрана: отмена выполнения конвейера.

Меню "Выполнение дополнительных действий конвейера"

В меню "Дополнительные действия" можно скачать журналы, добавить теги, изменить конвейер, удалить выполнение и настроить хранение для выполнения.

Снимок экрана: страница

Примечание.

Удалить хранящееся выполнение невозможно. Если вы не видите "Удалить", нажмите кнопку "Остановить сохранение выполнения", а затем удалите его. Если есть и команда Удалить, и команда Просмотреть хранящиеся выпуски, к вашему выполнению по-прежнему применяются одна или несколько настроенных политик хранения. Выберите команду Просмотреть хранящиеся выпуски, удалите политики (удаляются только политики для выбранного выполнения), а затем удалите выполнение.

Добавление индикатора состояния в репозиторий

Многие разработчики предпочитают демонстрировать высокое качество своего кода, отображая значки состояния в репозитории.

Индикатор состояния показывает, что конвейер Azure успешно выполнен

Чтобы скопировать значок состояния в буфер обмена, выполните следующие действия.

  1. В Azure Pipelines перейдите на страницу "Конвейеры" , чтобы просмотреть список конвейеров. Выберите конвейер, созданный в предыдущем разделе.

  2. Выберите и выберите значок состояния.

  3. Выберите значок состояния.

  4. Скопируйте пример Markdown из раздела Sample Markdown.

Теперь с значком Markdown в буфере обмена выполните следующие действия в GitHub:

  1. Перейдите в список файлов и выберите Readme.md. Выберите значок карандаша для изменения.

  2. Вставьте значок состояния Markdown в начале файла.

  3. Зафиксируйте изменение ветви main .

  4. Обратите внимание, что индикатор состояния отображается в описании репозитория.

Чтобы настроить анонимный доступ к значкам для частных проектов:

  1. Перейдите в раздел "Параметры проекта" в левом нижнем углу страницы

  2. Откройте вкладку "Параметры" в разделе "Конвейеры"

  3. Переключение анонимного доступа к ползунку значков в разделе "Общие"

Примечание.

Даже в частном проекте анонимный доступ к эмблеме включен по умолчанию. С включенным анонимным доступом к значкам пользователи за пределами вашей организации могут запрашивать такие сведения, как имена проектов, имена ветвей, имена заданий и состояние сборки с помощью API состояния эмблемы.

Так как вы только что изменили Readme.md файл в этом репозитории, Azure Pipelines автоматически создает код в соответствии с конфигурацией в файле в azure-pipelines.yml корне репозитория. Вернитесь в Azure Pipelines, обратите внимание, что появится новое выполнение. Каждый раз, когда вы вносите изменения, Azure Pipelines запускает новое выполнение.

Мы покажем, как использовать классический редактор в Azure DevOps Server 2019 для создания сборки и выпуска, печатающего "Hello world".

Необходимые компоненты

Инициализация репозитория

Если у вас уже есть репозиторий в проекте, перейдите к следующему шагу. Перейдите к добавлению скрипта в репозиторий.

  1. Перейдите в Azure Repos. (The Центр кода в предыдущей навигации)

    Репозитории файлов

  2. Если проект пуст, вы будете приветствовать экран, чтобы добавить код в репозиторий. Выберите нижний вариант, чтобы инициализировать репозиторий с readme помощью файла:

    Инициализация репозитория

Добавление скрипта в репозиторий

Создайте скрипт PowerShell, который печатает Hello world.

  1. Перейдите в Azure Repos.

  2. Добавьте файл.

    На вкладке

  3. В диалоговом окне назовите новый файл и создайте его.

    HelloWorld.ps1
    
  4. Скопируйте и вставьте этот скрипт.

    Write-Host "Hello world"
    
  5. Зафиксируйте (сохраните) файл.

В этом руководстве основное внимание уделяется CI/CD, поэтому мы работаем над частью кода. Мы работаем в репозитории Azure Repos Git непосредственно в веб-браузере.

Когда вы готовы приступить к созданию и развертыванию реального приложения, вы можете использовать широкий спектр клиентов и служб управления версиями с сборками CI Azure Pipelines. Подробнее.

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

Создайте конвейер сборки, который печатает "Hello world".

  1. Выберите Azure Pipelines, он должен автоматически перевести вас на страницу "Сборки ".

    Перейдите на вкладку

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

    Нажмите кнопку

    Для новых пользователей Azure DevOps это автоматически приведет к созданию конвейера YAML. Чтобы добраться до классического редактора и завершить работу с этим руководством, необходимо отключить функцию предварительной версии для создания конвейера YAML:

    Щелкните параметры в правом верхнем углу экрана и щелкните функции предварительного просмотра

    Щелкните переключатель, чтобы отключить функцию предварительного просмотра yaml

  3. Убедитесь, что исходная, проектная, репозиторий и ветвь по умолчанию соответствуют расположению, в котором вы создали скрипт.

  4. Начните с пустого задания.

  5. В левой части выберите "Конвейер" и укажите любое имя , которое вы хотите использовать. Для пула агентов выберите размещенную VS2017.

  6. В левой части выберите знак плюса (+), чтобы добавить задачу в задание 1. В правой части выберите категорию служебной программы, выберите задачу PowerShell из списка и нажмите кнопку "Добавить".

    Добавление задачи сборки в задание

  7. В левой части выберите новую задачу скрипта PowerShell .

  8. Для аргумента "Путь к скрипту" нажмите кнопку, чтобы просмотреть репозиторий и выбрать созданный скрипт.

    Выбор скрипта

  9. Выберите Сохранить и поместить в очередь, а затем щелкните Сохранить.

Конвейер сборки — это сущность, с помощью которой определяется автоматический конвейер сборки. В конвейере сборки создается набор задач, каждый из которых выполняет шаг в сборке. Каталог задач предоставляет широкий набор задач для начала работы. Вы также можете добавить скрипты PowerShell или оболочки в конвейер сборки.

Публикация артефакта из сборки

Типичная сборка создает артефакт, который затем можно развернуть на различных этапах выпуска. Здесь, чтобы продемонстрировать возможность простым способом, мы просто опубликуем скрипт в качестве артефакта.

  1. На вкладке "Задачи" выберите знак плюса (+), чтобы добавить задачу в задание 1.

  2. Выберите категорию служебной программы, выберите задачу "Опубликовать артефакты сборки" и нажмите кнопку "Добавить".

    Добавление задачи публикации артефактов

    Путь к публикации: нажмите кнопку, чтобы просмотреть и выбрать созданный скрипт.

    Имя артефакта: ВВОД drop.

    Расположение публикации артефактов: выберите Azure Artifacts/TFS.

Артефакты — это файлы, которые нужно создать сборку. Артефакты могут быть практически все, что ваша команда должна протестировать или развернуть приложение. Например, у вас есть .DLL и .EXE исполняемые файлы и . Файл символов PDB приложения C# или C++ .NET для Windows.

Чтобы вы могли создавать артефакты, мы предоставляем такие средства, как копирование с сопоставлением шаблонов, и промежуточный каталог, в котором можно собрать артефакты перед их публикацией. См . артефакты в Azure Pipelines.

Включение непрерывной интеграции (CI)

  1. Щелкните вкладку Триггеры.

  2. Включите непрерывную интеграцию.

Триггер непрерывной интеграции в конвейере сборки указывает, что система должна автоматически очереди новой сборки при фиксации изменения кода. Можно сделать триггер более общим или более конкретным, а также запланировать сборку (например, на ночной основе). См . триггеры сборки.

Сохранение и очередь сборки

Сохранение и очередь сборки вручную и проверка конвейера сборки.

  1. Выберите "Сохранить и очередь", а затем нажмите кнопку "Сохранить" и "Сохранить".

  2. В диалоговом окне нажмите кнопку "Сохранить и очередь " еще раз.

    Это очередь новой сборки на размещенном корпорацией Майкрософт агенте.

  3. Вы увидите ссылку на новую сборку в верхней части страницы.

    Консоль сборки

    Выберите ссылку, чтобы посмотреть новую сборку, как это происходит. После выделения агента вы увидите динамические журналы сборки. Обратите внимание, что скрипт PowerShell выполняется в рамках сборки и что "Hello world" выводится в консоль.

    Просмотр в консоли сборки

  4. Перейдите к сводке сборки. На вкладке "Артефакты" сборки обратите внимание, что скрипт публикуется как артефакт.

    Откройте консоль сборки, чтобы увидеть артефакт

Добавление некоторых переменных и фиксация изменения в скрипте

Мы передадим в скрипт некоторые переменные сборки, чтобы сделать конвейер более интересным. Затем мы зафиксируем изменение скрипта и отслеживаем автоматический запуск конвейера CI для проверки изменения.

  1. Измените конвейер сборки.

  2. На вкладке "Задачи" выберите задачу скрипта PowerShell.

  3. Добавьте эти аргументы.

Открытие задачи PowerShell в консоли сборки

Аргументы

-greeter "$(Build.RequestedFor)" -trigger "$(Build.Reason)"

Наконец, сохраните конвейер сборки.

Затем вы добавите аргументы в скрипт.

  1. Перейдите к файлам в Azure Repos ( концентратор кода в предыдущей навигации и TFS).

  2. Выберите файл HelloWorld.ps1 и измените файл.

  3. Измените скрипт следующим образом:

    Param(
    [string]$greeter,
    [string]$trigger
    )
    Write-Host "Hello world" from $greeter
    Write-Host Trigger: $trigger
    
  4. Зафиксируйте (сохраните) скрипт.

Теперь вы увидите результаты изменений. Перейдите в Azure Pipelines и выберите "Очереди". Обратите внимание, что в разделе "Очередь" или " Запущенная " сборка автоматически активируется с помощью зафиксированного изменения.

  1. Выберите созданную сборку и просмотрите его журнал.

  2. Обратите внимание, что пользователь, изменивший код, имеет свое имя в приветственном сообщении. Вы также видите, что это была сборка CI.

Создание сводного журнала скриптов PowerShell

Мы только что представили концепцию переменных сборки в этих шагах. Мы распечатали значение переменной, которая автоматически определена и инициализирована системой. Вы также можете определить пользовательские переменные и использовать их в аргументах для задач или в качестве переменных среды в скриптах. Дополнительные сведения о переменных см. в разделе "Сборка переменных".

У вас есть конвейер сборки. Дальнейшие действия

Вы создали конвейер сборки, который автоматически создает и проверяет любой код, который выполняется командой. На этом этапе вы можете перейти к следующему разделу, чтобы узнать о конвейерах выпуска. Или, если вы предпочитаете, можно пропустить вперед , чтобы создать конвейер сборки для вашего приложения.

Создание конвейера выпуска

Определите процесс выполнения скрипта на двух этапах.

  1. Перейдите на вкладку "Конвейеры" и выберите "Выпуски".

  2. Выберите действие, чтобы создать конвейер. Если конвейер выпуска уже создан, выберите знак плюса (+) и нажмите кнопку "Создать конвейер выпуска".

  3. Выберите действие, чтобы начать с пустого задания.

  4. Назовите этап QA.

  5. На панели артефактов нажмите кнопку +Добавить и укажите источник (конвейер сборки). Выберите Добавить.

  6. Выберите молнию, чтобы активировать непрерывное развертывание, а затем включите триггер непрерывного развертывания справа.

    Выбор молнии для активации непрерывного развертывания

  7. Перейдите на вкладку "Задачи " и выберите этап качества обслуживания.

  8. Выберите знак плюса (+) для задания, чтобы добавить задачу в задание.

  9. В диалоговом окне "Добавление задач" выберите "Служебная программа", найдите задачу PowerShell и нажмите кнопку "Добавить".

  10. В левой части выберите новую задачу скрипта PowerShell .

  11. Для аргумента "Путь к скрипту" нажмите кнопку, чтобы просмотреть артефакты и выбрать созданный скрипт.

  12. Добавьте следующие аргументы:

    -greeter "$(Release.RequestedFor)" -trigger "$(Build.DefinitionName)"
    
  13. На вкладке "Конвейер" выберите этап качества обслуживания и выберите "Клонировать".

    Клонирование среды выпуска в QA

  14. Переименование клонированного этапа Production.

  15. Переименуйте конвейер выпуска Hello world.

    Переименование конвейера выпуска hello world

  16. Сохраните конвейер выпуска.

Конвейер выпуска — это коллекция этапов развертывания артефактов сборки приложения. Он также определяет фактический конвейер развертывания для каждого этапа, а также способ продвижения артефактов с одного этапа на другой.

Кроме того, обратите внимание, что мы использовали некоторые переменные в аргументах скрипта. В этом случае мы использовали переменные выпуска вместо переменных сборки, которые мы использовали для конвейера сборки.

Развертывание выпуска

Запустите скрипт на каждом этапе.

  1. Создайте новый выпуск.

    Создание выпуска — DevOps 2019 и 2020

    При появлении нового выпуска нажмите кнопку "Создать".

  2. Откройте созданный выпуск.

    Созданный выпуск — DevOps 2019 и 2020

  3. Просмотрите журналы, чтобы получить данные о выпуске в режиме реального времени.

    Журналы выпусков — DevOps 2019 и 2020

Вы можете отслеживать ход выполнения каждого выпуска, чтобы узнать, был ли он развернут на всех этапах. Вы можете отслеживать фиксации, которые входят в каждый выпуск, связанные рабочие элементы и результаты всех тестов, добавленных в конвейер выпуска.

Изменение кода и его автоматическое развертывание в рабочей среде

Мы внесите еще одно изменение в скрипт. На этот раз он будет автоматически создаваться, а затем развертываться вплоть до рабочей стадии.

  1. Перейдите на вкладку "Код", вкладка "Файлы", измените файл HelloWorld.ps1 и измените его следующим образом:

    Param(
    [string]$greeter,
    [string]$trigger
    )
    Write-Host "Hello world" from $greeter
    Write-Host Trigger: $trigger
    Write-Host "Now that you've got CI/CD, you can automatically deploy your app every time your team checks in code."
    
  2. Зафиксируйте (сохраните) скрипт.

  3. Перейдите на вкладку "Сборки", чтобы просмотреть очередь сборки и запустить ее.

  4. После завершения сборки перейдите на вкладку "Выпуски ", откройте новый выпуск и перейдите к журналам.

Новый код автоматически развертывается на этапе качества обслуживания, а затем на этапе рабочей среды .

Окончательный журнал сценария выпуска — DevOps 2019 и 2020

Во многих случаях вы, вероятно, хотите изменить конвейер выпуска, чтобы производственное развертывание выполнялось только после некоторых тестов и утверждений. Ознакомьтесь с общими сведениями о утверждениях и шлюзах.

Следующие шаги

Вы узнали, как создать первый конвейер в Azure. Теперь узнайте больше о настройке конвейеров на выбранном языке:

Кроме того, можно продолжить настройку созданного конвейера .

Сведения о запуске конвейера в контейнере см. в разделе "Задания контейнеров".

Дополнительные сведения о создании репозиториев GitHub см. в разделе "Сборка репозиториев GitHub".

Сведения о публикации артефактов конвейера см. в статье "Публикация артефактов конвейера".

Чтобы узнать, что еще можно сделать в конвейерах YAML, см . справочник по схеме YAML.

Очистка

Если вы создали какие-либо тестовые конвейеры, их легко удалить после завершения работы с ними.

Чтобы удалить конвейер, перейдите на страницу сводки для этого конвейера и выберите пункт "Удалить " в меню ... в правом верхнем углу страницы. Введите имя конвейера, чтобы подтвердить, и нажмите кнопку "Удалить".

Удаление конвейера

Вы узнали основы создания и запуска конвейера. Теперь вы готовы настроить конвейер сборки для используемого языка программирования. Запустите и создайте новый конвейер сборки, и на этот раз используйте один из следующих шаблонов.

Язык Используемый шаблон
.NET ASP.NET
.NET Core ASP.NET Core
C++ Классические приложения .NET
Go Go
Java Gradle
JavaScript Node.js
Xcode Xcode

Вопросы и ответы

Где можно прочитать статьи о DevOps и CI/CD?

Что такое непрерывная интеграция

Что такое непрерывная поставка

Что такое DevOps?

Какую систему управления версиями можно использовать?

Когда вы будете готовы к работе с CI/CD для вашего приложения, вы можете использовать систему управления версиями по своему усмотрению:

Разделы справки репликация конвейера?

Если конвейер имеет шаблон, который требуется реплицировать в других конвейерах, клонировать его, экспортировать или сохранить в качестве шаблона.

all-definitions-build-action-menu-реплицируемые действия

После клонирования конвейера можно внести изменения, а затем сохранить его.

После экспорта конвейера его можно импортировать на вкладке "Все конвейеры ".

После создания шаблона участники группы могут использовать его для выполнения шаблона в новых конвейерах.

Совет

Если вы используете редактор новой сборки, в нижней части списка отображаются пользовательские шаблоны.

Разделы справки работать с черновиками?

Если вы редактируете конвейер сборки и хотите протестировать некоторые изменения, которые еще не готовы для рабочей среды, его можно сохранить в виде черновика.

save-as-draft

Вы можете редактировать и тестировать черновик по мере необходимости.

редактирование черновика — DevOps 2019 и 2020

Когда вы будете готовы, вы можете опубликовать черновик, чтобы объединить изменения в конвейер сборки.

публикация черновика — DevOps 2019 и 2020

Или, если вы решите отменить черновик, его можно удалить на вкладке "Все конвейеры ", показанной выше.

Как удалить конвейер?

Чтобы удалить конвейер, перейдите на страницу сводки для этого конвейера и выберите пункт "Удалить " в меню ... в правом верхнем углу страницы. Введите имя конвейера, чтобы подтвердить, и нажмите кнопку "Удалить".

Что еще можно сделать при очереди сборки?

Вы можете автоматически или вручную создавать сборки очередей.

При очереди сборки вручную можно выполнить одно выполнение сборки:

Вы можете автоматически или вручную создавать сборки очередей.

При очереди сборки вручную можно выполнить одно выполнение сборки:

Где можно узнать больше о параметрах конвейера?

Дополнительные сведения о параметрах конвейера см. в следующем разделе:

Разделы справки программно создать конвейер сборки?

Справочник по REST API. Создание конвейера сборки

Примечание.

Вы также можете управлять сборками и сборками конвейеров из командной строки или скриптов с помощью Интерфейса командной строки Azure Pipelines.