是否有一种方法可以使用Git存储库修改Jenkins管道脚本以自动初始化子模块?
foreach (KeyValuePair<string, double> value in values)
{
Console.WriteLine($"Pair here: {value.Key}, {value.Value}");
}
最好应更新为类似的内容
pipeline {
stages {
stage('Something A') {
steps {
sh 'git submodule update --init'
// stuff
}
}
stage('Something B') {
steps {
sh 'git submodule update --init'
// stuff
}
}
}
}
是否有一种实现的方法?我找不到任何东西。
答案 0 :(得分:1)
我假设您到目前为止一直在使用git
步骤来克隆存储库。
但是对于高级功能(如子模块),有checkout
步骤可用:
https://jenkins.io/doc/pipeline/steps/workflow-scm-step/
检出步骤提供了一个更新所有子模块的选项,甚至可以递归更新子模块,例如:
checkout([$class: 'GitSCM',
branches: [[name: '*/master']],
doGenerateSubmoduleConfigurations: false,
extensions: [[$class: 'SubmoduleOption',
disableSubmodules: false,
parentCredentials: false,
recursiveSubmodules: false,
reference: '',
trackingSubmodules: false
]],
submoduleCfg: [],
userRemoteConfigs: [[url: 'ssh://myserver/myrepo']]
])
实际上可以克隆子模块的是SubmoduleOption
扩展名,如上例所示。
由于语法-可以说-稍微复杂一点,我建议您使用摘要生成器。