Рубрики
Uncategorized

Повторное использование конфигурации CI / CD в OneDev

Поддержание конфигурации CI / CD для многих проектов может быть сложным и сложным. Чтобы уменьшить … помеченные с помощью DevOps.

Поддержание конфигурации CI/CD для многих проектов может быть сложным и сложным. Чтобы уменьшить накладные расходы, OneDev 4.3 Добавляет механизм определить общие строительные блоки CI/CD в отдельных проектах и использовать/настроить их в других проектах.

Конфигурация CI/CD поддерживается в OneDev через Second Spec. Когда определяют Subst Spec для проекта, теперь можно импортировать спецификации сборки из других проектов. Объекты (задания, услуги, шаблоны и свойства и свойства), содержащиеся в импортированных спецификациях сборки, обрабатываются так, как если бы они определяли локально, за исключением того, что импортируемые объекты будут переопределены локальными объектами с тем же именем. В случае нескольких импорта последних импортируемых объектов переопределит предварительные импортированные объекты с одним именем.

С этим импортным и переопределенным механизмом вы можете поддерживать общие шаблоны для рабочих мест/Services/Shad в отдельном спецификации по сборке, а также использовать свойство заполнители в местах, где может потребоваться настройка. Когда эта разработка сборки импортируется в другие спецификации сборки, пользователь может выборочно переопределить эти свойства, чтобы получить разные поведения для разных проектов.

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

  1. Начните OneDev с командой ниже в Linux или Mac:

  2. Откройте браузер для посещения http://localhost: 6610 завершить настройку. Добавить проект сказать Commons и настроить его сборку, как показано ниже:

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

  3. Теперь у нас есть обычная работа CI. Чтобы повторно использовать его в других проектах, нам нужно добавить тег. Мы также настраиваем роль по умолчанию проекта, чтобы все в системе имели разрешение на чтение кода для простоты причины:

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

    Здесь мы переопределяем свойство nodeimage использовать Узел: 14.16-Buster Отказ Сохранить спецификацию сборки и импортируемая задача будет автоматически запущена для печати ожидаемой версии узла.

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

  1. Продолжайте редактировать Секция нашего Commons Project, как показано ниже:

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

  2. Добавить новый тег сказать v2 Для нашей новой версии Secure Spec

  3. Отредактируйте Second Secure Project Project для импорта новой версии, добавьте задание CI для использования импортированного шаблона шагов и укажите параметр Узел Image как Узел: 14.16-BUSTER

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

Спасибо за прочтение!

Оригинал: «https://dev.to/robinshine/ci-cd-configuration-reuse-in-onedev-5c0i»