您可以使用Pipeline script而不是Pipeline script from SCM,然后您可以编写一个管道脚本来加载您希望在代码 checkout 后运行的实际Jenkins文件。例如,
String branch = env.GIT_BRANCH // suppose you read your branch from env that provided by parameters or injected by gitlab trigger, etc
node {
git(branch, ...) // checkout
load Jenkinsfile // laod the actually Jenkinsfile you want to run
}
2条答案
按热度按时间7gs2gvoe1#
动态分支
您可以通过添加
${BRANCH_NAME}
来动态添加分支(其中BRANCH_NAME是包含分支名称的参数的名称)请确保轻量级 checkout未选中**。如果选择此选项,我可能不允许您在要构建的分支字段中使用参数
话虽如此,我不知道您所说的“构建阶段”是什么意思。此配置用于克隆包含Jenkinsfile的存储库。这将在您的Jenkinsfile被拉下之前执行(因此在执行任何步骤或阶段之前)。
如果您需要首先执行一些代码(例如,从AWS SSM中提取一个值),则需要在Jenkinsfile
git branch: '${BRANCH_BAME}', url: ''
中再次克隆zy1mlcev2#
您可以使用
Pipeline script
而不是Pipeline script from SCM
,然后您可以编写一个管道脚本来加载您希望在代码 checkout 后运行的实际Jenkins文件。例如,