blueocean 中的子模块?

Submodules in blueocean?

我有一个蓝海项目,它使用 ssh 密钥抓取一个 git 项目,我添加了新的 shell 命令,但它没有拉出 .git 中的子模块子模块文件夹:

[submodule "Assets/Engine"]
    path = Assets/Engine
    url = killerbros@vs-ssh.visualstudio.com:22/Game/_ssh/Engine
    branch = "master"
[submodule "Assets/PlatformerModule/Extension"]
    path = Assets/PlatformerModule/Extension
    url = killerbros@vs-ssh.visualstudio.com:22/Game/_ssh/PlatformerModule
    branch = "master"

我尝试为 git 子模块初始化和 git 子模块更新添加 shell 命令,但由于身份验证,git 子模块更新失败:

Cloning into '/Users/Shared/Jenkins/Home/workspace/Platform_master-6J2EI5MV24CJ5OZMBARB5I3D276FBUM4RTXAZNAML5SYUAR7S3YA/Assets/Le'... Permission denied, please try again. Permission denied, please try again. myapp@vs-ssh.visualstudio.com: Permission denied (password,publickey). fatal: Could not read from remote repository.

我也尝试在 git scm 插件中添加 'advanced submodule step' 无济于事。

有没有办法确保它也对这些更新使用正确的 ssh 密钥?

Is there a way to make sure it uses the correct ssh key for those updates as well?

是的,使用 JENKINS SSH Credentials Plugin,您可以复制该插件中的私钥,并将关联的凭据用于 Git 回购作业设置,这将使用所述私钥进行任何 ssh 调用关键。
这假设最近(2016 年)version of the Jenkins Git client.
作为 seen here,您可以在 高级子模块行为 设置中使用父存储库的默认远程凭据。