Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/jenkins/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Windows Jenkins pipeline git命令子模块更新传递凭据_Git_Jenkins_Jenkins Pipeline - Fatal编程技术网

Windows Jenkins pipeline git命令子模块更新传递凭据

Windows Jenkins pipeline git命令子模块更新传递凭据,git,jenkins,jenkins-pipeline,Git,Jenkins,Jenkins Pipeline,我正在尝试做一些类似于中所做的事情,但我在Windows服务器上运行Jenkins,并试图从Jenkins的凭据存储中传递凭据,这保证了另一篇文章 在上面帖子的评论中,我已经看过了这篇帖子,现在我已经准备好了: withCredentials([sshUserPrivateKey(credentialsId:'ci', keyFileVariable:'GITHUB_KEY')]){ withEnv(["GIT_SSH_COMMAND=ssh -i $GIHUB_KEY -o StrictH

我正在尝试做一些类似于中所做的事情,但我在Windows服务器上运行Jenkins,并试图从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
...

奇怪的是,如果我使用checkout命令,代码的初始拉取工作正常,但它在发生登录失败的子模块(凭据对其有效)上。奇怪的是,如果我使用checkout命令,代码的初始拉取工作正常,但它在子模块上(凭据对其有效)发生登录失败的位置。
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>']]
])