使用当前的Git插件,您甚至不需要它。
GIT插件支持带有子模块的存储库,而子模块本身又具有子模块。
但是,必须将其打开:在“作业配置”->“源代码管理”,“ Git”->“高级按钮”(在要构建的分支下)->“递归更新”子模块中
但是OP正在使用管道。
因此,一个简单的第一步就足够了:
git submodule update --init --recursive
但是,OP添加了:
是的,但是如果我正在使用
sh 'git submodule update --init--recursive',这会$HOME/id_rsa正确吗?如果可能,我想为此命令传递私钥。
可能的是:在Pipeline语法中,您可以定义环境变量。
这意味着您可以设置
GIT_SSH_COMMAND(使用Git2.10+)。
这样您就可以引用自己的私钥。
pipeline { agent any environment { GIT_SSH_COMMAND = 'ssh -i /path/to/my/private/key' } stages { stage('Build') { steps { sh 'printenv' sh 'git submodule update --init --recursive' } } }}如果任何克隆涉及ssh url,则该ssh克隆将使用正确的私钥。



