Jenkins Pipeline: сбой проверки scm не удаётся - PullRequest
0 голосов
/ 12 февраля 2019

Я использую файл Jenkins для построения конвейера.Я пытаюсь клонировать эталонный репозиторий, используя DSL, как показано ниже.

checkout(
[$class: 'GitSCM', branches: [[name: '*/master']], doGenerateSubmoduleConfigurations: false, 
extensions: [[$class: 'CloneOption', depth: 1, noTags: false, reference: '', shallow: true]], 
submoduleCfg: [], 
userRemoteConfigs: [[url: 'git@bitbucket.org:user_team/infrastructure-as-code.git']])

, и пока конвейер выполняется, он переводится в этот

git fetch --tags --progress git@bitbucket.org:userteam/infrastructure-as-code.git +refs/heads/*:refs/remotes/origin/* --depth=1

. Это клонирует весь репозиторий.на моем сервере Дженкинс.Я просто хочу получить мелкую копию моего репо, чтобы я мог спасти свой сервер Jenkins от космического кризиса.Пожалуйста, помогите здесь.

Я использую: Jenkins версия: 2.58,

Плагины:

Конвейер SCM Шаг: 2.4

Git: 3.3.0

1 Ответ

0 голосов
/ 10 июня 2019

Я думаю, вы неправильно понимаете значение мелкого клона. Мелкий клон все равно будет клонировать весь репозиторий. Разница будет в том, что история будет усечена до указанного количества коммитов (в вашем случае 1, поскольку вы упомянули глубину, равную единице). Это может сэкономить вам много места и времени.

Для болееинформация, пожалуйста, перейдите по этой ссылке: git-clone # Документация

Например, см. изображение ниже, где я клонирую один и тот же репозиторий (https://github.com/spring-cloud/spring-cloud-config.git) 2 раза, один без глубины иодин с глубиной = 1. В первом случае размер локального репозитория составляет 40 МБ, а с глубиной размер локального репозитория составляет всего 3,4 МБ.

shallow clone

...