Сведения о кэшировании зависимостей рабочего процесса
Рабочий процесс часто повторно использует одни и те же выходные данные или скачанные зависимости из одного запуска в другом. Например, средства управления пакетами и зависимостями, такие как Maven, Gradle, npm и Yarn, хранят локальный кэш скачанных зависимостей.
Чтобы ускорить процесс восстановления файлов, таких как зависимости, GitHub можно кэшировать файлы, которые вы часто используете в рабочих процессах.
Артефакты и кэширование зависимостей
Артефакты и кэширование схожи, поскольку они предоставляют возможность хранить файлы в GitHub, но каждая функция предлагает разные варианты использования и они не являются взаимозаменяемыми.
- Применяйте кэширование, если требуется повторно использовать файлы, которые нечасто изменяются между заданиями или выполнениями рабочих процессов, например зависимости сборки из системы управления пакетами.
- Используйте артефакты, если требуется сохранить файлы, созданные заданием, для просмотра после завершения выполнения рабочего процесса, например встроенные двоичные файлы или журналы сборки.
Дополнительные сведения о артефактах запуска рабочего процесса см. в разделе Хранение и предоставление общего доступа к данным с артефактами рабочего процесса.
Безопасность кэша
Кэши используются на основе ветви или тега, используемого в рабочем процессе, а не идентичности рабочего процесса или задачи. См. События, инициирующие рабочие процессы и GITHUB_REF раздел для ветки, используемой для различных триггеров рабочих процессов. Любой запуск, который может читать кэш, восстанавливает его содержимое as-is, поэтому воспринимайте восстановленные файлы как ненадёжные данные и никогда не храните секреты или другие конфиденциальные данные в кэше.
Ненадёжные рабочие процессы могут читать чувствительное содержимое кэша, например, когда pull_request форк восстанавливает кэш. Отравленные кэши могут привести к выполнению кода в доверенных рабочих процессах. Чтобы снизить риск отравления кэша, GitHub рабочие процессы, работающие в ответ на низкоуровневые триггеры, дают доступ только к кэшам в области действия ветки по умолчанию.
Для подробностей о сфере применения кэша, ограничениях доступа и лучших практиках безопасного использования кэшей см. Справочник по кэшированию зависимостей.
Следующие шаги
Сведения о реализации кэширования зависимостей в рабочих процессах см. в разделе Справочник по кэшированию зависимостей.