@AleksandrMalinovskiy

Как в gitlab сократить время Pipelines?

Добрый день.
Сразу скажу большим опытом не обладаю. C gitlab знаком не так давно.
Есть проект на котором Pipelines fronta проходят около 12 минут.
Стоит задача сократить это время.
Гитлаб стоит на одном сервере а фронт где ранер на другом.
Поискав в интернете нашел статью в которой говорится о реализации кэширования gitlab и докер.
Так же понял что можно возвращать на сервер где стоит gitlab артефакты и потом же их использовать.
Есть 3 jobы bild test deploy
bild самая долгая
Суть вопроса в том можно ли сократить за с чем артефактов сам бил (все файлы предоставлю ниже)?
Или есть другие способы?
Dockerfile https://github.com/AleksandrMalinovskiy/-/blob/mai...
.gitlab-ci.yml https://github.com/AleksandrMalinovskiy/-/blob/mai...
qa.docker-compose.yml https://github.com/AleksandrMalinovskiy/-/blob/mai...
  • Вопрос задан
  • 66 просмотров
Решения вопроса 1
@uuid1
самый правильный вариант - можешь используя docker executor собдирать с помощью kaniko, он умеет кешировать слои. packages.json часто меняться не будет, и для 95% сборок этот шаг будет скипнут, взят из кеша https://docs.gitlab.com/ee/ci/docker/using_kaniko.html

либо есть 2 вариант, костыльный, но потребует от тебя меньше движений. можешь просто кешировать папку node-moduleshttps://docs.gitlab.com/ee/ci/caching/ (так вроде она называется, да?), кеш инвалидировать по изменению лок-файла с пакетами. в пайплайне проверять, и если папка node-modules в проекте есть, кеш не инвалидирован, тогда скипать команду npm install

и перейди на докер executor, хотя бы для стейджа build и test, жить станет проще
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
Geminix
@Geminix
Фуллстек nuxt, .net разработчик
не относится к гитлабу, но есть возможность перейти с npm на yarn? с Yarn и закэшить пакеты можно, и сама установка пакетов шустрее.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

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