Какова цель выпуска конвейеров, когда те же задачи доступны в конвейере сборки? - PullRequest
0 голосов
/ 26 февраля 2020

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

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

Ответы [ 4 ]

2 голосов
/ 26 февраля 2020

Трубопроводы в разделе «Трубопроводы -> Выпуски» относятся к классу c конвейеров развертывания, сделанных с GUI.

. Новые конвейеры YAML всегда находятся в разделе «Трубопроводы -> Трубопроводы» и позволяют как строить и задания по развертыванию: https://docs.microsoft.com/en-us/azure/devops/pipelines/process/deployment-jobs?view=azure-devops. При использовании заданий развертывания вместо выпусков classi c развертывания будут отображаться в разделе «Конвейеры -> Среды».

Таким образом, в этом смысле имеет смысл, что с обеих сторон доступны одни и те же задачи, поскольку обе позволяют определять рабочие процессы развертывания. Конвейеры YAML не имеют тех же возможностей, что и релизы classi c, хотя, я думаю, релизные ворота все еще отсутствовали.

2 голосов
/ 26 февраля 2020

Это те же задачи, но не те же процессы.

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

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

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

Рабочий процесс конвейеров выпуска более визуален, чем в конвейерах YAML или Classi c Build.

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

Вы можете попытаться реализовать весь процесс CI / CD только на конвейерах YAML, но было бы намного проще использовать возможности Azure Pipelines для разделения логики c CI и CD, На данный момент возможности развертывания трубопроводов YAML все еще находятся в разработке.

1 голос
/ 27 февраля 2020

Для класса c конвейер сборки и выпуска в формате пользовательского интерфейса:

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

Затем мы можем использовать Release Pipeline для развертывания артефактов из Build Pipeline до более чем на одну стадию в зависимости от того, что нам нужно. Таким образом, нам нужно только запустить Build Pipeline один раз , чтобы получить артефакты (содержащие двоичные файлы программного обеспечения), и мы можем использовать Release Pipeline для повторного использования и развертывания артефакты в другой среде. (Разработка, продукт ...)

Конечно, мы можем использовать Build Pipeline для запуска некоторых задач развертывания, и мы можем использовать Release Pipeline для запуска задач сборки и тестирования. Мы можем, но не должны (не рекомендуется), настройка конвейера пользовательского интерфейса сборки и выпуска может улучшить процесс построения / тестирования (более связанный с CI) => развертывание (более связанный с CD).

А если вы используете Многоступенчатый конвейер , вам не нужно использовать конвейеры Release (UI). Вы можете определить шаги CI / CD в одном файле xx.yml.

0 голосов
/ 26 февраля 2020

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

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

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