- 22, Oct 2024
- #1
Часто требуется доступ к сторонним ресурсам, помимо исходного кода артефактов, которые он предназначен для создания. Каждый из этих сторонних ресурсов привносит в сборки фактор риска, например:
Репозитории дистрибутива временно недоступны, поэтому установка дистрибутива временно невозможна.
Репозитории дистрибутива постоянно недоступны, такие же и даже хуже, чем раньше.
Некоторые пакеты бесплатного программного обеспечения NPM перестают существовать, поскольку их автор потребовал отзыва.
Некоторые исходные файлы или специальные двоичные пакеты для сторонних инструментов больше недоступны.
Этот список можно расширить импровизированный и хотя изучение различных причин, приводящих к исчезновению какого-либо стороннего ресурса, звучит гораздо занимательнее, оно в первую очередь имеет для нас катастрофическое последствие: построить-конвейер сломан.
Как лучше всего охватить два следующих случая при построении докер изображения:
- Кэширование файлов, загруженных с помощью завиток или wget.
- Кэширование пакетов Debian.
Здесь можно рассмотреть несколько возможных стратегий. Например, использование прокси и настройка системы сборки для маршрутизации всех запросов через этот прокси. Второй, дешевый вариант — обернуть завиток вызовы для сохранения результатов в локальном кеше.
(В этом вопросе я бы рассматривал совместное использование кеша между несколькими единицами конвейера сборки как вопрос второстепенного значения.)
#build-pipeline #docker #build-pipeline