如何在Jenkins中动态填充分支机构名称

fhg3lkii  于 2022-09-20  发布在  Jenkins
关注(0)|答案(2)|浏览(194)

是否可以选择将分支从外壳脚本传递到Jenkins,或者可以将AWS参数存储到Jenkins?

如何在“要构建的分支”字段中动态增加价值?

我们将分支机构名称存储在AWS SSM参数存储中,并在构建阶段将其提取到Jenkins脚本中。关于这件事到处都找了,但找不到任何线索

7gs2gvoe

7gs2gvoe1#

动态分支

您可以通过添加${BRANCH_NAME}来动态添加分支(其中BRANCH_NAME是包含分支名称的参数的名称)

请确保轻量级 checkout未选中**。如果选择此选项,我可能不允许您在要构建的分支字段中使用参数

话虽如此,我不知道您所说的“构建阶段”是什么意思。此配置用于克隆包含Jenkinsfile的存储库。这将在您的Jenkinsfile被拉下之前执行(因此在执行任何步骤或阶段之前)。

如果您需要首先执行一些代码(例如,从AWS SSM中提取一个值),则需要在Jenkinsfile git branch: '${BRANCH_BAME}', url: ''中再次克隆

zy1mlcev

zy1mlcev2#

您可以使用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
}

相关问题