Доброго дня товарищи. Подскажите плз, колво проектов уже перевалило за

300 и встала задача, как причесать весь зоопарк gitlab-ci который есть.
Сейчас в каждый проект копируется шаблон и правится под свои нужды.
Но может есть какой то более прогрессивный способ, чтобы был единый CI для всех типовых проектов, который бы автоматически подтягивался гитом?
В общем, я не знаю какие есть сейчас решения, может кто подскажет у кого тоже много проектов, как вы организовали написание cicd.

9 ответов

19 просмотров

репа с ci которая будет инклюлится

Сделал отдельную репу и описал в нем базовые правила триггеров и переменных В новый проектах просто подключается через include

Не знаю насколько правильно, но мы таки попытались сделать общие шаблоны под самые частые случаи(через отдельную репу), а уже в конкретных проектах значения просто поставляются(например название папки для s3 кеша и тп). Вызываем через include + extends для перезаписи базовых значений. Если очень надо, то и джобу саму можно полностью переписать под свои нужды(если стандартный шаблон не подходит)

Сергей-Худояров Автор вопроса
Илья Оськин
Сделал отдельную репу и описал в нем базовые прави...

оу, спасибо. Интересно, а есть ли на просторах сети где нибудь готовые примеры, чтобы посмотреть?

Сергей-Худояров Автор вопроса
Илья Оськин
Сделал отдельную репу и описал в нем базовые прави...

Пока чет не понял как инклудить отдельную репу. Подскажи плз https://docs.gitlab.com/ee/ci/yaml/includes.html

Сергей Худояров
оу, спасибо. Интересно, а есть ли на просторах се...

Да в доке все понятно относительно. Главное понимать как правильно организовать под свои нужды. Хотя местами такую унификацию может стать сложнее поддерживать

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

Сергей Худояров
Пока чет не понял как инклудить отдельную репу. По...

например есть репа с шаблонами под основные нужды - infrastructure/gitlab-ci-templates Тогда в нужном проекте нам вызываем этот шаблон. .gitlab-ci.yml include: project: infrastructure/gitlab-ci-templates file: - kaniko-executor-build.yml stages: - build kaniko-executor-build: stage: build variables: CACHE_DIR: /root/.cache PROJECT_CACHE_DIR: ${CI_PROJECT_DIR}/.cache extends: - .kaniko-executor-build rules: - if: '$CI_COMMIT_BRANCH == "master"' tags: - podman В infrastructure/gitlab-ci-templates есть файлик kaniko-executor-build.yml У него тоже есть некая вложенность, например. Он содержит в себе kaniko-executor-global-vars.yml где есть версия канико и путь до образа контейнера.

Похожие вопросы

Обсуждают сегодня

Ребята, всем привет. Подскажите, пожалуйста, можно ли как-то через бота понять, что этого бота добавили в группу\канал и выдали ему права администратора?
Artem Stormageddon
9
Это переведённый текст с английского. Я не говорю на русском, но могу использовать переводчик Телеграм. Приветствую! Я начинающий веб-разработчик и все еще учусь. В настояще...
𐩱𐩪𐩣𐩱𐩲𐩺𐩡
2
А не хотим ли мы развлечься? 😉 Но так чтобы с пользой для наших профессиональных навыков?? 👨‍🎓👩‍🎓 Предлагаю на октябрь запланировать тестовый запуск новой командной игры "Игр...
Andrii Kurdiumov
2
Привет всем! Почему этот код не срабатывает при добавлении или удалении пользователя из чата? bot.on('chat_member', async (ctx) => { console.log(ctx); }) bot.launch({allo...
Alexander
5
у кого сколько оперативы на базе данных ?
АДИЛЬБЕК
4
Через бот апи возможно получить ID стикерпака? Не ссылку.
Vexylon [АФК до 09.09]
5
Привет Хочу сделать аналог iCloud’а для своих проектов, чтобы пользовательская информация хранилась в облаке, была доступна во всех сервисах, её можно было подсасывать везде)...
Виталий
9
В тг можно спарсить всех кто пишет в группе? Если список участников скрыт
S
3
код Event::listen('cms.page.display', function (&$content, $slug, $page, $html) { if (is_object($content)) { dump($content); } else { dump($s...
Point 111
3
Ребят, а двух-факторку для плагина Users и для бэкенда октября кто-то прикручивал? Поделитесь опытом
Constantine Anikin
4
Карта сайта