У меня есть проект, размещенный в экземпляре Enterprise GitHub.Проект ссылается на субмодуль в том же экземпляре.
Примечание: я не могу использовать то же развертываниеключ на GitHub Enterprise: ключ уже используется
Задание Jenkins определено как многоотраслевой конвейер, и я использую команду checkout
в Jenkinsfile:
checkout([
$class: 'GitSCM',
branches: scm.branches,
doGenerateSubmoduleConfigurations: scm.doGenerateSubmoduleConfigurations,
extensions: [[$class: 'SubmoduleOption', disableSubmodules: false, parentCredentials: false, recursiveSubmodules: true, reference: '', trackingSubmodules: false]],
userRemoteConfigs: scm.userRemoteConfigs
])
Я попробовал оба варианта: установить parentCredentials: true
и parentCredentials: false
, но оба приводят к этой ошибке при выполнении задания:
hudson.plugins.git.GitException: Command "git submodule update -init --recursive my-submodule "вернул код состояния 1: stdout: stderr: клонирование в '/ private / tmp / workspace / project_develop / my-submodule' ... git@github.mycompany.com: разрешение отклонено (publickey).Неустранимый: Не удалось прочитать из удаленного хранилища.
Пожалуйста, убедитесь, что у вас есть правильные права доступа, и хранилище существует.fatal: клон 'git@github.mycompany.de: myorga / my-submodule.git' в путь к субмодулю '/ private / tmp / workspace / project_develop / my-submodule' Не удалось клонировать 'my-submodule'.Повторите запланированное клонирование в '/ private / tmp / workspace / project_develop / my-submodule' ... git@github.mycompany.de: В доступе отказано (publickey).Неустранимый: Не удалось прочитать из удаленного хранилища.
Убедитесь, что у вас есть правильные права доступа
Оба ключа развертывания доступны на Jenkins.Итак, как я могу оформить субмодули?Как я могу сказать команде checkout
использовать определенный credentials-id
при проверке субмодуля?