Масштабирование усилий по техническому обслуживанию трубопроводов

#jenkins-pipeline #pipeline #github-actions

#дженкинс-трубопровод #трубопровод #github-действия

Вопрос:

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

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

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

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

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

Мне бы понадобилось что-то вроде этого: если я внесу новое изменение сначала, оно будет внесено в одно репо, и если оно работает нормально, у меня есть возможность автоматически применить изменение ко всем другим репо. Есть какие-нибудь идеи по этому поводу? Имеет ли это смысл, если да, то как этого достичь?

Комментарии:

1. Если вы спрашиваете о действиях на GitHub, то ответ — «многоразовые рабочие процессы». Если вы спрашиваете в целом, то это, вероятно, не очень хороший вопрос для SO.

2. Да, многоразовые рабочие процессы-хорошая идея, я думаю, я попробую.