Приветствую. Изучаю CI и наверное самый банальный вопрос по артифактам и кэшу. Не совсем понимаю что,как и зачем. Доку читал, статьи и SO тоже. Просто не доходит до конца.
Как я понимаю:
Кэш - это файлы/дир которые упаковывются/распаковываются между джобами/стадиями. Так же доступны между пайплайнами.
Артифакты - это файлы/дир которые доступны между стадиями, не доступны между пайплайнами. Эти файлы доступны для скачки в UI после работы пайплайна.
Например, берем сборку и тестирование js пакета. На этапе сборки формируем node_modules путем npm install и файлы в папке /public/* путем npm run prod .
Чтобы передать эти папки в стадию тестирования, используем директиву cache. В примере на гитлабе с node_modules - тоже используется кэш.
Но в разных вопросах/ответах вижу что иногда советуют node_modules пихать в артифакты. Зачем? Вообще в целом не понятно, зачем использовать артифакты, если не требуется дальнейшая скачка из UI ?