Windows конвейер Jenkins git обновление субмодуля команды, передавая учетные данные - PullRequest
0 голосов
/ 01 мая 2020

Я пытаюсь сделать что-то похожее на то, что было сделано в здесь , но я запускаю Jenkins на Windows сервере и пытаюсь передать учетные данные из хранилища учетных данных Jenkins, это оправдывает другой пост.

В комментариях к посту выше я посмотрел этот пост и теперь у меня в конвейере это:

withCredentials([sshUserPrivateKey(credentialsId:'ci', keyFileVariable:'GITHUB_KEY')]){
  withEnv(["GIT_SSH_COMMAND=ssh -i $GIHUB_KEY -o StrictHostKeyChecking=no]){
    bat script: 'git submodule update --init --recursive'
  }
}

Однако, при запуске сборки возникает ошибка из-за ошибки входа в систему:

using GIT_SSH to set credentials <credentials_description>
> C:\<git_install_path>\git.exe submodule update --init --recursive <submodule_name> # timeout=10
...
...
hudson.plugins.git.GitException: Command "C:\<git_install_path>\git.exe submodule update --init --recursive <submodule_name>" returned status code 1:
stdout:
stderr: Cloning into '<Jenkins job folder>'
Logon failed, use ctrl+c to cancel basic credential prompt
bash: /dev/tty: No such device or address
error: failed to execute prompt script (exit code 1)
fatal: could not read Username for '<git url>': No such file or directory
fatal: clone of '<submodule url>' into submodule path '<local submodule path>' failed
Failed to clone '<submodule>'. Retry scheduled
...

Есть ли способ передать эти учетные данные из Jenkins при вызове команды git submodule? Или мне нужно установить GIT_SSH_COMMAND в блоке среды, как в первом связанном посте, и сохранить где-нибудь закрытый ключ в окне сборки?

РЕДАКТИРОВАТЬ: Я также пытался использовать синтаксис проверки, но я получаю ту же ошибку при входе в систему

checkout([
  $class: 'GitSCM',
  branches: [[name '*/<branch_name'>]],
  doGenerateSubmoduleConfigurations: false,
  extensions: [[
    $class: 'SubmoduleOption', 
    disableSubmodules: false, 
    parentCredentials: true, 
    recursiveSubmodules: true,
    reference: '',
    trackingSubmodules: false
  ]],
  submoduleCfg: [],
  userRemoteConfigs: [[credentialsId:'ci', url:'<git_url>']]
])
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...