Кэширование особенно полезно в сценарии ios, где одни и те же зависимости загружаются снова и снова в начале каждого запуска. Зачастую это трудоемкий процесс, включающий сотни или тысячи сетевых вызовов.
Кэширование может быть эффективным для сокращения времени сборки, если время восстановления и сохранения кэша меньше времени, необходимого для повторного создания вывода с нуля. , Из-за этого кэширование может быть неэффективным во всех сценариях ios и может фактически оказать негативное влияние на время сборки. Пожалуйста, обратитесь к этому документу для деталей.
Вот два других способа сократить время сборки:
Вы можете попытаться сократить время сборки в Конвейеры CI через параллельные сборки. Вот ссылка: blog1 , blog2 .
Чтобы получить более высокую производительность, вы можете использовать частный агент для запуска конвейера сборки. , поскольку частные агенты кэшируют все между сборками. Если вам необходимо очистить хранилище (например, чтобы избежать проблем, вызванных остаточными файлами из предыдущей сборки), вы можете выбрать Очистить параметр в определении сборки.
.NET / NuGet :
Если вы используете PackageReferences
для управления зависимостями NuGet непосредственно в файле проекта и имеете packages.lock.json
файлов, вы можете включить кэширование, установив NUGET_PACKAGES
Переменная среды к пути в $(Pipeline.Workspace)
и кешированию этого каталога.