Выпуск конвейеров и источников артефактов

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

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

Источники артефактов

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

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

Снимок экрана: добавление артефакта в классический конвейер выпуска.

При связывании нескольких артефактов можно указать, какой из них является основным источником (по умолчанию). Основной источник артефакта используется для задания ряда предопределенных переменных. Его также можно использовать в выпусках именования.

Снимок экрана: настройка первичного исходного артефакта.

Примечание.

Элементы Default version раскрывающегося списка зависят от исходного типа определения связанной сборки.

  • Следующие параметры поддерживаются всеми типами репозитория: Specify at the time of release creation, Specific versionи Latest.

  • Latest from a specific branch with tagsи Latest from the build pipeline default branch with tags параметры поддерживаются следующими типами репозитория: TfsGit, , GitHubBitbucketи GitHubEnterprise.

  • Latest from the build pipeline default branch with tags не поддерживается определениями XAML сборки.

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

Источники артефактов — Azure Pipelines

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

При использовании Azure Pipelines в качестве источника артефактов доступны следующие функции:

Возможность Description
Выпуски автоматического триггера Новые выпуски можно создавать автоматически, когда доступен новый артефакт сборки (включая сборки XAML). Дополнительные сведения см . в разделе "Триггеры выпуска".
Переменные артефакта Ряд переменных артефактов поддерживаются в источниках Azure Pipelines.
Рабочие элементы и фиксации Вы можете связать рабочие элементы Azure Pipelines и отобразить его в подробных сведениях о выпусках. Фиксации отображаются при использовании элементов управления версиями Git или TFVC.
Скачивание артефакта По умолчанию артефакты сборки загружаются в агент под управлением конвейера. Вы также можете настроить шаг на этапе, чтобы пропустить скачивание артефакта.
Этапы развертывания Сводный список сборки всех этапов развертывания, в которых был развернут артефакт.

Примечание.

В конвейер сборки необходимо включить задачу публикации артефактов . Для конвейеров сборки YAML артефакт с раскрывающимся именем публикуется неявно.

По умолчанию выпуски запускаются с помощью авторизации задания уровня коллекции область. Это означает, что выпуски могут получать доступ к ресурсам во всех проектах организации (или коллекции для Azure DevOps Server). Это полезно при связывании артефактов сборки из других проектов. Вы можете включить ограничение авторизации задания область в текущий проект для конвейеров выпуска в параметрах проекта, чтобы ограничить доступ к артефакту проекта.

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

  • Перейдите к параметрам организации.
  • Выберите Параметры в разделе "Конвейеры".
  • Включите область авторизации задания для текущего проекта для конвейеров выпуска, чтобы ограничить область текущим проектом. Это рекомендуемый параметр для хороших мер безопасности.

Чтобы задать область авторизации задания для определенного проекта, выполните указанные действия.

  • Перейдите к параметрам проекта.
  • Выберите Параметры в разделе "Конвейеры".
  • Включите область для текущего проекта, чтобы ограничить область текущим проектом, чтобы ограничить область текущим проектом. Это рекомендуемый параметр, так как он повышает безопасность конвейеров.

Примечание.

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

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

Источники артефактов — управление версиями

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

  • Разработка PHP или приложения JavaScript, не требующего явного конвейера сборки.

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

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

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

Azure Pipelines поддерживает репозитории система управления версиями Team Foundation (TFVC), репозитории Git и репозитории GitHub.

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

При связывании репозитория GitHub и выборе ветви можно изменить свойства типов артефактов по умолчанию после сохранения артефакта. Это особенно полезно в сценариях, когда ветвь для стабильной версии изменений артефакта, а выпуски непрерывной доставки должны использовать эту ветвь для получения новых версий артефакта. Кроме того, можно указать сведения о проверка out, например о том, проверка out подмодулы и отслеживаемые файлы LFS, а также неглубокое получение глубины.

При связывании ветви TFVC можно указать набор изменений, который необходимо развернуть при создании выпуска.

При использовании TFVC, Git и GitHub в качестве источника артефактов доступны следующие функции:

Возможность Description
Выпуски автоматического триггера Новые выпуски можно создавать автоматически, когда доступен новый артефакт сборки (включая сборки XAML). Дополнительные сведения см . в разделе "Триггеры выпуска".
Переменные артефакта Ряд переменных артефактов поддерживаются в источниках Azure Pipelines.
Рабочие элементы и фиксации Вы можете связать рабочие элементы Azure Pipelines, которые будут отображаться в подробных сведениях о выпусках. Фиксации отображаются при использовании элементов управления версиями Git или TFVC.
Скачивание артефакта По умолчанию артефакты сборки загружаются в агент под управлением конвейера. Вы также можете настроить шаг на этапе, чтобы пропустить скачивание артефакта.

По умолчанию выпуски запускаются с помощью авторизации задания уровня коллекции область. Это означает, что выпуски могут получать доступ к ресурсам во всех проектах организации (или коллекции для Azure DevOps Server). Это полезно при связывании артефактов сборки из других проектов. Вы можете включить ограничение авторизации задания область в текущий проект для конвейеров выпуска в параметрах проекта, чтобы ограничить доступ к артефакту проекта.

Источники артефактов — Дженкинс

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

Следующие функции доступны при использовании Jenkins в качестве источника артефакта:

Возможность Description
Выпуски автоматического триггера Новые выпуски можно создавать автоматически, когда доступен новый артефакт сборки (включая сборки XAML). Дополнительные сведения см . в разделе "Триггеры выпуска".
Переменные артефакта Ряд переменных артефактов поддерживаются в источниках Azure Pipelines.
Рабочие элементы и фиксации Вы можете связать рабочие элементы Azure Pipelines и отобразить его в подробных сведениях о выпусках. Фиксации отображаются при использовании элементов управления версиями Git или TFVC.
Скачивание артефакта По умолчанию артефакты сборки загружаются в агент под управлением конвейера. Вы также можете настроить шаг на этапе, чтобы пропустить скачивание артефакта.

Артефакты, созданные сборками Jenkins, обычно распространяются в репозитории хранилища для архивации и совместного использования. Хранилище BLOB-объектов Azure является одним из поддерживаемых репозиториев, что позволяет использовать проекты Jenkins, которые публикуются в хранилище Azure в качестве источников артефактов в конвейере выпуска. Azure Pipelines автоматически скачивает артефакты из Azure в агент, на котором выполняется конвейер. В этом сценарии подключение между агентом и сервером Jenkins не требуется. Размещенные корпорацией Майкрософт агенты можно использовать без предоставления серверу доступа к Интернету.

Примечание.

Azure Pipelines может не иметь возможности связаться с сервером Jenkins, если, например, он находится в корпоративной сети. Если это так, вы можете интегрировать Azure Pipelines с Jenkins, настроив локальный агент, который может получить доступ к серверу Jenkins. При связывании со сборкой вы не сможете увидеть имя проектов Jenkins, но в текстовом поле URL-адреса можно ввести имя.

Источники артефактов — контейнеры

При развертывании контейнерных приложений образ контейнера сначала помещается в реестр контейнеров. Затем вы можете развернуть образ контейнера в веб-приложении Azure для контейнеров или в кластере Docker/Kubernetes. Для проверки подлинности в Azure необходимо создать подключение к службе. Дополнительные сведения см. в статье об управлении подключениями к службе.

При использовании контейнера Azure в качестве источника артефактов доступны следующие функции:

Возможность Description
Выпуски автоматического триггера Новые выпуски можно создавать автоматически, когда доступен новый артефакт сборки (включая сборки XAML). Дополнительные сведения см . в разделе "Триггеры выпуска".
Переменные артефакта Ряд переменных артефактов поддерживаются в источниках Azure Pipelines.
Рабочие элементы и фиксации Вы можете связать рабочие элементы Azure Pipelines и отобразить его в подробных сведениях о выпусках. Фиксации отображаются при использовании элементов управления версиями Git или TFVC.
Скачивание артефакта По умолчанию артефакты сборки загружаются в агент под управлением конвейера. Вы также можете настроить шаг на этапе, чтобы пропустить скачивание артефакта.

Примечание.

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

Источники артефактов — Артефакты Azure

Ниже приведены некоторые сценарии, в которых можно использовать Артефакты Azure в качестве источника артефактов:

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

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

При использовании артефактов Azure в качестве источника артефактов доступны следующие функции:

Возможность Description
Выпуски автоматического триггера Новые выпуски можно создавать автоматически, когда доступен новый артефакт сборки (включая сборки XAML). Дополнительные сведения см . в разделе "Триггеры выпуска".
Переменные артефакта Ряд переменных артефактов поддерживаются в источниках Azure Pipelines.
Рабочие элементы и фиксации Вы можете связать рабочие элементы Azure Pipelines и отобразить его в подробных сведениях о выпусках. Фиксации отображаются при использовании элементов управления версиями Git или TFVC.
Скачивание артефакта По умолчанию артефакты сборки загружаются в агент под управлением конвейера. Вы также можете настроить шаг на этапе, чтобы пропустить скачивание артефакта.

Обработка моментальных снимков Maven

При использовании моментальных снимков Maven можно одновременно скачать несколько версий (напримерmyApplication-2.1.0.BUILD-20190920.220048-3.jar, myApplication-2.1.0.BUILD-20190820.221046-2.jar). myApplication-2.1.0.BUILD-20190820.220331-1.jar Возможно, потребуется удалить старую версию и сохранить последнюю версию артефакта перед развертыванием. Выполните следующую команду PowerShell в командной строке с повышенными привилегиями, чтобы удалить все копии, кроме одного с самым высоким лексографическим значением:

Get-Item "myApplication*.jar" | Sort-Object -Descending Name | Select-Object -SkipIndex 0 | Remove-Item

Примечание.

В веб-канале можно хранить до 30 моментальных снимков Maven. После достижения максимального предела артефакты Azure автоматически удаляют моментальные снимки до 25. Этот процесс будет запускаться автоматически при каждом публикации 30+ моментальных снимков в веб-канале.

Источники артефактов — сервер TFS

Azure Pipelines можно использовать для развертывания артефактов с серверов TFS без необходимости обнаруживать сервер в Интернете, настроив локальный агент автоматизации. Артефакты загружаются в локальный агент, а затем развертываются на указанных целевых серверах без выхода из корпоративной сети. Это идеально подходит для клиентов, чтобы использовать свои инвестиции в локальную инфраструктуру, используя преимущества выпусков Azure Pipelines.

Чтобы использовать серверы TFS в качестве источника артефактов, необходимо установить артефакты TFS для расширения Azure Pipelines из Visual Studio Marketplace, а затем создать подключение к службе для проверки подлинности с помощью Azure Pipelines. После проверки подлинности можно связать конвейер сборки TFS с конвейером выпуска и выбрать внешнюю сборку TFS в раскрывающемся меню "Тип ".

При использовании серверов TFS в качестве источника артефактов доступны следующие функции:

Возможность Description
Выпуски автоматического триггера Новые выпуски можно создавать автоматически, когда доступен новый артефакт сборки (включая сборки XAML). Дополнительные сведения см . в разделе "Триггеры выпуска".
Переменные артефакта Ряд переменных артефактов поддерживаются в источниках Azure Pipelines.
Рабочие элементы и фиксации Вы можете связать рабочие элементы Azure Pipelines и отобразить его в подробных сведениях о выпусках. Фиксации отображаются при использовании элементов управления версиями Git или TFVC.
Скачивание артефакта По умолчанию артефакты сборки загружаются в агент под управлением конвейера. Вы также можете настроить шаг на этапе, чтобы пропустить скачивание артефакта.

Azure Pipelines может не иметь возможности связаться с локальным сервером TFS, если он находится в корпоративной сети. В этом случае можно интегрировать Azure Pipelines с TFS, настроив локальный агент, который может получить доступ к серверу TFS. Вы не сможете увидеть имя проектов TFS или конвейеров сборки при связывании со сборкой, но эти переменные можно включить в текстовые поля URL-адреса. Кроме того, при создании выпуска Azure Pipelines может не запрашивать сервер TFS для номеров сборки. Вместо этого введите идентификатор сборки (а не номер сборки) требуемой сборки в соответствующем поле или выберите последнюю сборку.

Источники артефактов — TeamCity

Чтобы использовать TeamCity в качестве источника артефактов, необходимо сначала установить артефакты TeamCity для расширения Azure Pipelines из Visual Studio Marketplace.

После завершения создайте подключение службы для проверки подлинности с помощью сервера TeamCity. Затем можно связать артефакт сборки с конвейером выпуска. Для публикации артефактов необходимо настроить конфигурацию сборки TeamCity.

При использовании TeamCity в качестве источника артефактов доступны следующие функции:

Возможность Description
Выпуски автоматического триггера Новые выпуски можно создавать автоматически, когда доступен новый артефакт сборки (включая сборки XAML). Дополнительные сведения см . в разделе "Триггеры выпуска".
Переменные артефакта Ряд переменных артефактов поддерживаются в источниках Azure Pipelines.
Рабочие элементы и фиксации Вы можете связать рабочие элементы Azure Pipelines и отобразить его в подробных сведениях о выпусках. Фиксации отображаются при использовании элементов управления версиями Git или TFVC.
Скачивание артефакта По умолчанию артефакты сборки загружаются в агент под управлением конвейера. Вы также можете настроить шаг на этапе, чтобы пропустить скачивание артефакта.

Azure Pipelines может не иметь возможности связаться с сервером TeamCity, если, например, он находится в корпоративной сети. В этом случае вы можете интегрировать Azure Pipelines с TeamCity, настроив локальный агент, который может получить доступ к серверу TeamCity. При связывании со сборкой вы не сможете просмотреть имя проектов TeamCity, но в текстовое поле URL-адреса можно ввести его.

Псевдоним источника артефакта

Чтобы обеспечить уникальность каждого скачиваемого артефакта, каждый источник артефакта, связанный с конвейером выпуска, автоматически предоставляется определенное расположение загрузки, известное как псевдоним источника. К этому расположению можно получить доступ с помощью переменной: $(System.DefaultWorkingDirectory)\[source alias]

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

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

Скачивание артефакта

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

Новая уникальная папка в агенте создается для каждого конвейера выпуска при инициировании выпуска, а артефакты загружаются в следующую папку:$(System.DefaultWorkingDirectory)

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

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