Мне поручено перенести систему сборки на основе gnu-make
в GitLab CI, и я столкнулся с проблемой - есть ли хороший пример того, как это должно работать?
Проблема в том, что я создал многоступенчатый, многозадачный конвейер и аккуратно передал выходные данные из задания X в задание Y (скажем) как GitLab CI artefacts
и dependencies
. Однако Makefile
, которые я унаследовал, имеют полную глубину знаний обо всем, что когда-либо создавалось, поэтому они смотрят на artefacts
, унаследованное от задания X, пытаются решить, нужно ли их восстанавливать и завершить перестроить все, что построил Job X, потому что gnu-make
не может видеть промежуточные выходные данные сборки, которые Job X использовал внутри контекста Job Y. Таким образом, в основном все собирается много, много раз, и GitLab CI artefacts
почти бесполезен .
Это похоже на то, что люди должны были ударить раньше, но я изо всех сил пытаюсь найти какое-либо руководство. Может кто-нибудь указать мне хорошие ресурсы, которые объясняют лучшие образцы для решения этой проблемы?
Спасибо!