Создание первого конвейера
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 должна иметь доступ к размещенным в Майкрософт параллельным заданиям. Вы можете приобрести параллельную задачу
или запросить бесплатный грант.
Создание первого конвейера
Получение примера кода Java
Чтобы приступить к работе, форкните следующий репозиторий в свою учетную запись GitHub.
https://github.com/MicrosoftDocs/pipelines-java
Создание первого конвейера Java
Войдите в свою организацию Azure DevOps и откройте нужный проект.
Перейдите к конвейерам и выберите "Создать конвейер" или "Создать конвейер" при создании первого конвейера.
Выполните все шаги мастера, выбрав GitHub в качестве расположения исходного кода.
Вас могут перенаправить на GitHub для входа в систему. Для этого введите учетные данные GitHub.
Когда появится список репозиториев, выберите свой.
Вы можете перенаправиться на GitHub, чтобы установить приложение Azure Pipelines. В этом случае выберите " Утвердить" и "Установить".
Azure Pipelines будет анализировать репозиторий и рекомендовать шаблон конвейера Maven .
Когда появится новый поток, просмотрите YAML, чтобы понять, что он делает. Когда будете готовы, выберите Сохранить и запустить.
Вам будет предложено зафиксировать новый
azure-pipelines.yml
файл в репозитории. После того как вы будете довольны сообщением, нажмите кнопку "Сохранить и снова запустить ".Если вы хотите посмотреть конвейер в действии, выберите задание сборки.
Вы только что создали и запустили конвейер, который мы автоматически подготовили для вас, так как ваш код оказался хорошим совпадением для шаблона Maven.
Теперь у вас есть рабочий конвейер YAML (
azure-pipelines.yml
) в репозитории, готовый к настройке!Когда вы будете готовы внести изменения в конвейер, выберите его на странице конвейеров и измените
azure-pipelines.yml
файл.
Узнайте больше о работе с Java в конвейере.
Просмотр конвейеров и управление ими
Вы можете просматривать конвейеры и управлять ими, выбрав конвейеры из меню слева, чтобы перейти на целевую страницу конвейеров.
На целевой странице конвейеров можно просматривать конвейеры и запуски конвейеров, создавать и импортировать конвейеры, управлять безопасностью и углубляться в подробности конвейеров и их выполнения.
Выберите "Последние ", чтобы просмотреть недавно запущенные конвейеры (представление по умолчанию) или выберите "Все ", чтобы просмотреть все конвейеры.
Выберите конвейер для управления этим конвейером и просмотра запусков. Выберите номер сборки для последнего запуска, чтобы просмотреть результаты этой сборки, выберите имя ветви, чтобы просмотреть ветвь для этого запуска или выбрать контекстное меню, чтобы запустить конвейер и выполнить другие действия управления.
Выберите "Запуски" , чтобы просмотреть все запуски конвейера. При необходимости можно отфильтровать отображаемые запуски.
Выберите запуск конвейера, чтобы просмотреть сведения об этом запуске.
Вы можете выбрать сохранение или удаление запуска из контекстного меню. Дополнительные сведения о хранении запуска см. в политиках хранения сборки и выпуска.
Просмотр сведений о конвейере
Страница сведений для конвейера позволяет просматривать и управлять этим конвейером.
Выберите "Изменить", чтобы изменить конвейер. Дополнительные сведения см. в редакторе конвейера YAML. Вы также можете изменить конвейер, изменив файл azure-pipelines.yml непосредственно в репозитории, на котором размещен конвейер.
Просмотр сведений о выполнении конвейера
В сводке по запуску конвейера можно просмотреть статус выполнения, как во время его работы, так и после завершения.
В области сводки можно просмотреть подробности задания и этапа, скачать артефакты и открыть связанные коммиты, результаты тестирования и рабочие элементы.
Задания и этапы
В области заданий отображается обзор состояния этапов и заданий. На этой панели может быть несколько вкладок в зависимости от того, содержит ли ваша платформа этапы и задания или только задания. В этом примере конвейер состоит из двух этапов сборки и развертывания. Для детализации этапов конвейера выберите задание в области этапов или заданий.
Выберите задание, чтобы просмотреть шаги для этого задания.
В интерфейсе шагов можно проверить состояние и сведения о каждом шаге.
Из дополнительных действий можно переключать метки времени или просматривать необработанный журнал всех шагов в конвейере.
Отмена и повторный запуск конвейера
Если конвейер запущен, его можно отменить, нажав кнопку "Отмена". Если выполнение завершено, можно повторно запустить конвейер, нажав кнопку "Запустить новое".
Меню дополнительных действий запуска конвейера
В меню "Дополнительные действия" можно скачать журналы, добавить теги, изменить конвейер, удалить выполнение и настроить хранение для выполнения.
Примечание.
Невозможно удалить запуск, если он сохранён. Если вы не видите "Удалить", нажмите кнопку "Остановить сохранение выполнения", а затем удалите его. Если есть и команда Удалить, и команда Просмотреть хранящиеся выпуски, к вашему выполнению по-прежнему применяются одна или несколько настроенных политик хранения. Выберите Просмотр выпусков с сохранением, удалите политики (удаляются только политики для выбранного сеанса), а затем удалите сеанс.
Добавление индикатора состояния в репозиторий
Многие разработчики предпочитают демонстрировать высокое качество своего кода, отображая значки состояния в репозитории.
Чтобы скопировать значок состояния в буфер обмена, выполните следующие действия.
В Azure Pipelines перейдите на страницу "Конвейеры" , чтобы просмотреть список конвейеров. Выберите конвейер, созданный в предыдущем разделе.
Выберите
и выберите значок состояния.
Выберите значок статуса.
Скопируйте пример Markdown из раздела Sample Markdown.
Теперь с значком Markdown в буфере обмена выполните следующие действия в GitHub:
Перейдите в список файлов и выберите
Readme.md
. Выберите значок карандаша для изменения.Вставьте значок состояния Markdown в начале файла.
Зафиксируйте изменение в ветке
main
.Обратите внимание, что индикатор состояния отображается в описании репозитория.
Чтобы настроить анонимный доступ к значкам для частных проектов:
Перейдите в раздел "Параметры проекта" в левом нижнем углу страницы
Откройте вкладку "Параметры" в разделе "Конвейеры"
Переключите ползунок Отключить анонимный доступ к значкам в разделе Общие
Примечание.
Даже в частном проекте анонимный доступ к эмблеме включен по умолчанию. С включенным анонимным доступом к значкам пользователи за пределами вашей организации могут запрашивать такие сведения, как имена проектов, имена ветвей, имена заданий и состояние сборки с помощью API состояния эмблемы.
Так как вы только что изменили файл Readme.md
в этом репозитории, Azure Pipelines автоматически создает ваш код в соответствии с конфигурацией в файле azure-pipelines.yml
в корне вашего репозитория. Вернитесь в Azure Pipelines и убедитесь, что запущено новое выполнение. Каждый раз, когда вы вносите изменения, Azure Pipelines запускает новое выполнение.
Мы покажем, как использовать классический редактор в Azure DevOps Server 2019 для создания сборки и релиза, которая выводит на печать "Hello world".
Предварительные требования
- Локальный агент Windows.
Инициализация репозитория
Если у вас уже есть репозиторий в проекте, перейдите к следующему шагу. Перейдите к добавлению скрипта в репозиторий.
Перейдите в Azure Repos. (The Центр кода в предыдущей навигации)
Если ваш проект пуст, вам будет представлен экран, который поможет добавить код в репозиторий. Выберите нижний вариант, чтобы инициализировать репозиторий с
readme
файлом:
Перейдите в Azure Repos.
Добавьте файл.
В диалоговом окне назовите новый файл и создайте его.
HelloWorld.ps1
Скопируйте и вставьте этот скрипт.
Write-Host "Hello world"
Зафиксируйте (сохраните) файл.
В этом руководстве мы сосредоточимся на CI/CD, поэтому часть кода оставим простой. Мы работаем в репозитории Azure Repos Git непосредственно в веб-браузере.
Когда вы готовы приступить к созданию и развертыванию реального приложения, вы можете использовать широкий спектр клиентов и служб управления версиями с сборками CI Azure Pipelines. Подробнее.
Создание конвейера сборки
Создайте конвейер сборки, который печатает "Привет, мир".
Выберите Azure Pipelines. Вы будете автоматически перенаправлены на страницу Сборки.
Создание нового конвейера.
Для новых пользователей Azure DevOps это автоматически перенесет вас на опыт создания конвейера YAML. Чтобы перейти к классическому редактору и завершить этот процесс, необходимо отключить функцию предварительного просмотра для нового интерфейса создания конвейеров YAML:
Убедитесь, что источник, проект, репозиторий и ветка по умолчанию совпадают с местом, в котором вы создали скрипт.
Начните с пустого задания.
В левой части выберите "Конвейер" и укажите любое имя , которое вы хотите использовать. Для пула агентов выберите Hosted VS2017.
В левой части выберите знак плюса (+), чтобы добавить задачу в задание 1. В правой части выберите категорию служебной программы, выберите задачу PowerShell из списка и нажмите кнопку "Добавить".
В левой части выберите новую задачу скрипта PowerShell .
Для аргумента «Путь к скрипту» нажмите кнопку
, чтобы перейти к вашему репозиторию и выбрать созданный вами скрипт.
Выберите Сохранить и поместить в очередь, а затем щелкните Сохранить.
Конвейер сборки — это сущность, с помощью которой определяется автоматический конвейер сборки. В конвейере сборки создается набор задач, каждый из которых выполняет шаг в сборке. Каталог задач предоставляет широкий набор задач для начала работы. Вы также можете добавить скрипты PowerShell или оболочки в конвейер сборки.
Опубликовать артефакт из созданной сборки
Типичная сборка создает артефакт, который затем можно развернуть на различных этапах выпуска. Здесь, чтобы продемонстрировать возможность простым способом, мы просто опубликуем скрипт в качестве артефакта.
На вкладке "Задачи" выберите знак плюса (+), чтобы добавить задачу в задание 1.
Выберите категорию служебной программы, выберите задачу "Опубликовать артефакты сборки" и нажмите кнопку "Добавить".
Путь к публикации: нажмите
кнопку, чтобы просмотреть и выбрать созданный скрипт.
Имя артефакта: Введите
drop
.Расположение публикации артефактов: выберите Azure Artifacts/TFS.
Артефакты — это файлы, которые должна произвести сборка. Артефакты могут включать в себя практически что угодно, что необходимо вашей команде для тестирования или развертывания приложения. Например, у вас есть исполняемые файлы .DLL и .EXE и файл символов .PDB для приложения C# или C++ .NET для Windows.
Чтобы вы могли создавать артефакты, мы предоставляем такие средства, как копирование с сопоставлением шаблонов, и промежуточный каталог, в котором можно собрать артефакты перед их публикацией. Смотрите артефакты в Azure Pipelines.
Включение непрерывной интеграции (CI)
Щелкните вкладку Триггеры.
Включите непрерывную интеграцию.
Триггер непрерывной интеграции в конвейере сборки указывает, что система должна автоматически запускать новую сборку при каждом изменении в коде. Можно сделать триггер более общим или более конкретным, а также запланировать сборку (например, на ночной основе). Смотрите триггеры сборки.
Сохраните и поставьте сборку в очередь
Сохраните и добавьте сборку в очередь вручную, и протестируйте ваш конвейер сборки.
Выберите "Сохранить и очередь", а затем выберите "Сохранить и очередь".
В диалоговом окне нажмите «Сохранить и добавить в очередь» еще раз.
Ставит в очередь новую сборку на агенте, размещенном корпорацией Майкрософт.
Вы увидите ссылку на новую сборку в верхней части страницы.
Выберите ссылку, чтобы посмотреть новую сборку, как это происходит. После выделения агента вы начнете видеть журналы сборки в реальном времени. Обратите внимание, что скрипт PowerShell выполняется в рамках сборки и что "Hello world" выводится в консоль.
Перейдите к сводке сборки. На вкладке "Артефакты" сборки обратите внимание, что скрипт публикуется как артефакт.
Добавление некоторых переменных и фиксация изменения в скрипте
Мы передадим в скрипт некоторые переменные сборки, чтобы сделать конвейер более интересным. Затем мы зафиксируем изменение скрипта и отслеживаем автоматический запуск конвейера CI для проверки изменения.
Измените конвейер сборки.
На вкладке "Задачи" выберите задачу скрипта PowerShell.
Добавьте эти аргументы.
Аргументы
-greeter "$(Build.RequestedFor)" -trigger "$(Build.Reason)"
Наконец, сохраните конвейер сборки.
Затем вы добавите аргументы в скрипт.
Перейдите к файлам в Azure Repos (Центр кода в предыдущей навигации и TFS).
Выберите файл HelloWorld.ps1 и измените файл.
Измените скрипт следующим образом:
Param( [string]$greeter, [string]$trigger ) Write-Host "Hello world" from $greeter Write-Host Trigger: $trigger
Зафиксируйте (сохраните) скрипт.
Теперь вы увидите результаты изменений. Перейдите в Azure Pipelines и выберите В очереди. Обратите внимание, что в разделе "Очередь" или " Запущенная " сборка автоматически активируется с помощью зафиксированного изменения.
Выберите созданную сборку и просмотрите её журнал.
Обратите внимание, что пользователь, изменивший код, имеет свое имя в приветственном сообщении. Вы также видите напечатано, что это была сборка с CI.
Мы только что представили концепцию переменных сборки в этих шагах. Мы распечатали значение переменной, которая автоматически определена и инициализирована системой. Вы также можете определить пользовательские переменные и использовать их в аргументах для задач или в качестве переменных среды в скриптах. Дополнительные сведения о переменных см. в разделе "Сборка переменных".
У вас есть конвейер сборки. Дальнейшие действия
Вы создали конвейер сборки, который автоматически создает и проверяет любой код, который выполняется командой. На этом этапе вы можете перейти к следующему разделу, чтобы узнать о конвейерах выпуска. Или, если вы предпочитаете, можно пропустить вперед , чтобы создать конвейер сборки для вашего приложения.
Создание конвейера выпуска
Определите процесс выполнения скрипта на двух этапах.
Перейдите на вкладку "Конвейеры" и выберите "Выпуски".
Выберите действие для создания нового конвейера. Если конвейер выпуска уже создан, выберите знак плюса (+) и нажмите кнопку "Создать конвейер выпуска".
Выберите действие, чтобы начать с пустого задания.
Назовите этап QA.
На панели артефактов нажмите кнопку +Добавить и укажите источник (конвейер сборки). Выберите Добавить.
Выберите молнию, чтобы активировать непрерывное развертывание, а затем включите триггер непрерывного развертывания справа.
Перейдите на вкладку "Задачи " и выберите этап качества обслуживания.
Выберите знак плюса (+) для задания, чтобы добавить задачу в задание.
В диалоговом окне "Добавление задач" выберите "Служебная программа", найдите задачу PowerShell и нажмите кнопку "Добавить".
В левой части выберите новую задачу скрипта PowerShell .
Для аргумента Путь к скрипту нажмите кнопку
, чтобы просмотреть артефакты и выбрать созданный скрипт.
Добавьте следующие аргументы:
-greeter "$(Release.RequestedFor)" -trigger "$(Build.DefinitionName)"
На вкладке Конвейер выберите этап QA и выберите Клонировать.
Переименуйте клонированный этап Production.
Переименуйте конвейер выпуска Hello world.
Сохраните конвейер выпуска.
Конвейер выпуска — это коллекция этапов развертывания артефактов сборки приложения. Он также определяет фактический конвейер развертывания для каждого этапа, а также способ продвижения артефактов с одного этапа на другой.
Кроме того, обратите внимание, что мы использовали некоторые переменные в аргументах скрипта. В этом случае мы использовали переменные выпуска вместо переменных сборки, которые мы использовали для конвейера сборки.
Разверните релиз
Запустите скрипт на каждом этапе.
Создайте новый выпуск.
Когда появится Создание нового выпуска, выберите Создать.
Откройте выпуск, который вы создали.
Просмотрите логи, чтобы получить данные о выпуске в режиме реального времени.
Вы можете отслеживать ход выполнения каждого выпуска, чтобы узнать, был ли он развернут на всех этапах. Вы можете отслеживать фиксации, которые входят в каждый выпуск, связанные рабочие элементы и результаты всех тестов, добавленных в конвейер выпуска.
Изменение кода и его автоматическое развертывание в рабочей среде
Мы внесите еще одно изменение в скрипт. На этот раз он будет автоматически создаваться, а затем развертываться вплоть до рабочей стадии.
Перейдите на вкладку "Код", вкладка "Файлы", измените файл 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."
Зафиксируйте (сохраните) скрипт.
Выберите вкладку «Сборки», чтобы просмотреть очередь сборки и выполняющиеся сборки.
После завершения сборки перейдите на вкладку "Выпуски", откройте новый выпуск и перейдите к Журналы.
Новый код автоматически развертывается на этапе тестирования, а затем на этапе эксплуатации.
Во многих случаях вы, вероятно, хотите изменить конвейер выпуска, чтобы производственное развертывание выполнялось только после некоторых тестов и утверждений. См. обзор утверждений и шлюзов.
Следующие шаги
Вы узнали, как создать первый конвейер в Azure. Теперь узнайте больше о настройке конвейеров на выбранном языке:
Кроме того, можно продолжить настройку созданного конвейера .
Чтобы запустить конвейер в контейнере, см. раздел Задания для контейнеров.
Дополнительные сведения о создании репозиториев GitHub см. в разделе "Сборка репозиториев GitHub".
Для получения информации о том, как публиковать артефакты конвейера, см. «Публикация артефактов конвейера».
Чтобы узнать, что еще можно сделать в конвейерах YAML, см. справочник по схеме YAML.
Очистка
Если вы создали какие-либо тестовые конвейеры, их легко удалить после завершения работы с ними.
Чтобы удалить конвейер, перейдите на страницу сводки для этого конвейера и выберите пункт "Удалить " в меню ... в правом верхнем углу страницы. Введите имя конвейера, чтобы подтвердить, и нажмите кнопку "Удалить".
Вы узнали основы создания и запуска конвейера. Теперь вы готовы настроить конвейер сборки для используемого языка программирования. Приступите к созданию нового конвейера сборки и в этот раз используйте один из следующих шаблонов.
Язык | Используемый шаблон |
---|---|
.NET | ASP.NET |
.NET Core | ASP.NET Core |
C++ | .NET для настольных компьютеров |
Иди | Иди |
Java | Gradle |
JavaScript | Node.js |
Xcode | Xcode |
Вопросы и ответы
Где можно прочитать статьи о DevOps и CI/CD?
Что такое непрерывная интеграция
Что такое непрерывная поставка
Какую систему управления версиями можно использовать?
Когда вы будете готовы к работе с CI/CD для вашего приложения, вы можете использовать систему управления версиями по своему усмотрению:
Клиенты
Службы
- Azure Pipelines
- Поставщики служб Git, такие как Azure Repos Git, GitHub и Bitbucket Cloud
- Subversion
Клиенты
Службы
- Azure Pipelines
- Поставщики услуг Git, такие как GitHub и Bitbucket Cloud
- Subversion
Как реплицировать конвейер?
Если конвейер имеет шаблон, который требуется реплицировать в других конвейерах, клонировать его, экспортировать или сохранить в качестве шаблона.
После клонирования конвейера можно внести изменения, а затем сохранить его.
После экспорта конвейера его можно импортировать на вкладке "Все конвейеры ".
После создания шаблона члены команды могут использовать его, чтобы следовать структуре в новых конвейерах.
Совет
Если вы используете редактор новой сборки, в нижней части списка отображаются пользовательские шаблоны.
Как работать с черновиками?
Если вы редактируете конвейер сборки и хотите протестировать некоторые изменения, которые еще не готовы для рабочей среды, его можно сохранить в виде черновика.
Вы можете редактировать и тестировать черновик по мере необходимости.
Когда вы будете готовы, вы можете опубликовать черновик, чтобы объединить изменения в конвейер сборки.
Или, если вы решите отказаться от черновика, его можно удалить из вкладки Все конвейеры, показанной выше.
Как удалить конвейер?
Чтобы удалить конвейер, перейдите на страницу сводки для этого конвейера и выберите пункт "Удалить " в меню ... в правом верхнем углу страницы. Введите имя конвейера, чтобы подтвердить, и нажмите кнопку "Удалить".
Вы можете автоматически или вручную поставить сборки в очередь.
При ручной постановке сборки в очередь можно выполнить её однократное выполнение:
Укажите пул, в который будет помещена сборка.
Добавьте и измените некоторые переменные.
Добавьте требования.
В репозитории Git
Создайте ветвь или тег.
В репозитории TFVC
Запустите частную сборку набора изменений. (Вы можете использовать этот параметр на любом из агентов, размещенных корпорацией Майкрософт или локальных агентов.)
Вы можете ставить сборки в очередь автоматически или вручную.
При постановке сборки в очередь вручную, для одного запуска сборки, можно:
Укажите пул, в котором будет проходить сборка.
Добавьте и измените некоторые переменные.
Добавьте требования.
В репозитории Git
Создайте ветвь или тег.
Где можно узнать больше о параметрах конвейера?
Дополнительные сведения о параметрах конвейера см. в следующем разделе:
Как программно создать конвейер сборки?
Справочник по REST API. Создание конвейера сборки
Примечание.
Вы также можете управлять сборками и конвейерами сборки из командной строки или скриптов с помощью Azure Pipelines CLI.