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

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

9 ответов

9 просмотров

репа с 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 где есть версия канико и путь до образа контейнера.

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

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

Всем привет. Нужна платная консультация от тех, кто сталкивался с октябрём в кластере или шарит оч хорошо в цмс. Проблема следующая: после переноса в кластер октябрь начал ...
wl
8
Добрый день, не подскажите, если в OC-V3 поменять страндартную директорию /storage/ на /storage2/ - не будет сильно много проблем ?
Max Dubovsky
32
'frakturBold' => ['𝖆', '𝖇', '𝖈', '𝖉', '𝖊', '𝖋', '𝖌', '𝖍', '𝖎', '𝖏', '𝖐', '𝖑', '𝖒', '𝖓', '𝖔', '𝖕', '𝖖', '𝖗', '𝖘', '𝖙', '𝖚', '𝖛', '𝖜', '𝖝', '𝖞', '𝖟', '𝕬', '𝕭', '𝕮', '𝕯'...
Roma
4
а я честно сказать не понимаю - нахуя идти учиться на вышку или еще куда-либо и при этом нихуя не делать, типа зачем ? просто корку получить, а нахуй она нужна тогда ?
Eugene Неелов
7
Каким то образом можно определить ширину экрана пользователя перед загрузкой partial-а? Надо рассчитать ширину кадров слайдера для ресайза картинок для container-fluid.
Point 111
22
зараз якщо створити файл core/custom/define.php з текстом <?php const NO_SESSION = true; можна позбутися сесійних кукі (що зручно, щоб не показувати людям банери про збір та в...
Artur Kyryliuk
1
А сколько часов мак держит зарядку в рабочем режиме? Например мой Redmi Mac (просто наклейка от айфона осталась, налепил) по началу держал часов 5 с парой открытых штормов и ...
Ross
8
я бы даже сказал не размер резюме, а слова, которые там написаны, потому что резюме может быть на несколько десятков страниц из-за 20 летнего опыта работы, но там в опыте буде...
Eugene Неелов
2
так а я не могу просто новый сделать ? я пробовал не прокатило но может чето упускаю
Максим
3
Ребят, было ли у вас так, что переменные в WebApp —tg-viewport-height, —tg-viewport-stable-height после метода expand не обновляются, а остаются в размерах, как было до expand...
Black
3
Карта сайта