更改Jenkins Pipeline DSL中子模块结帐中的用户名

时间:2016-10-07 14:34:07

标签: jenkins git-submodules jenkins-pipeline

我有一个项目将EC2实例旋转为构建从属,用户名为“ec2-user”。

我正在检查包含这样的子模块的存储库:

checkout([
          $class: 'GitSCM',
          branches: [[name: 'deadbeefdeadbeefcafebabe']],
          doGenerateSubmoduleConfigurations: false,
          extensions: [
             [$class: 'SubmoduleOption',
              disableSubmodules: false,
              parentCredentials: true,
              recursiveSubmodules: true,
              reference: '',
              trackingSubmodules: false]
          ], submoduleCfg: [],
          userRemoteConfigs: [
             [credentialsId: 'deadbeef-cafe-babe-cafe-babebeef1234',
              refspec: 'refs/changes/12/34567/89',
              url: 'ssh://user@host:29418/some/project']
          ]
])

请注意,该网址包含用户名。

现在,.gitmodules文件如下所示:

[submodule "path/in/project"]
    path = path/in/project
    url = ssh://host:29418/other/project
    branch = somebranch

子模块描述没有指定用户名。当子模块克隆时,克隆将被拒绝,并且凭据无效。手动编辑.gitmodules文件并在URL前面添加user@可以正常工作,但这是一个不好的解决方法。更改磁盘上的URL然后再次调用checkout也不起作用。

如何让Jenkins使用它在父校验中使用的用户名?如果那是不可能的,那么什么是不涉及更改源代码库的解决方法?

0 个答案:

没有答案