Есть ли способ кэшировать git исходных файлов? - PullRequest
1 голос
/ 28 мая 2020

В конвейерах сборки есть замечательная задача Cache. Он отлично работает для кеширования пакетов nuget и npm (среди прочих), но я не вижу следствия для источников git.

Есть ли способ сделать это, кроме отключения встроенного получить исходники и запустить нашу собственную git проверку в качестве задачи? У нас есть относительно большое репо, синхронизация которого c занимает около 3 минут. Я бы хотел уменьшить это, если возможно. Я уже пробовал использовать неглубокую выборку, установленную на глубину 1, и это существенно не изменило время проверки.

1 Ответ

1 голос
/ 29 мая 2020

Azure DevOps в настоящее время не имеет этой функции кэширования git исходного кода.

Однако, если вы используете собственный агент, исходный код git будет кэшироваться на вашем локальном компьютере агента по умолчанию (в каталоге исходного кода конвейера, например, C:\agent\_work\1\s). В следующий раз, когда вы запустите конвейер, он будет извлекать только измененные файлы на ваш локальный компьютер.

Таким образом, вы можете создать собственный агент для запуска вашего конвейера. Отметьте здесь , чтобы получить подробные инструкции по созданию собственного агента.

(Если вы хотите очищать папку с исходным кодом при каждом запуске конвейера. Вы можете установить clean на true for checkout step. Опция очистки шага checkout не будет работать для агента, размещенного на сервере Microsoft. Поскольку каждый раз, когда вы запускаете конвейер, вы получаете виртуальную машину fre sh. Виртуальная машина удаляется после одно использование.)

Вы также можете нажать здесь , чтобы отправить запрос функции (нажмите Предложите функцию и выберите Azure Devops . ) команде разработчиков Microsoft. Надеюсь, они рассмотрят возможность добавления этой функции в будущем.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...