我使用Jenkins将微服务部署到不同的环境(Dev1,dev2,QA ... Prod)
对于每个环境,我都有一个几乎完全相同的管道脚本,在工作名称中嵌入了环境名称,因此我们可以执行以下操作来创建特定于环境的代码和变量,从而将更多的代码重构到公共库中
if (env.JOB_BASE_NAME.startsWith('dev1')) {
env.ACR_TAG='dev1'
// other settings...
}
else if (env.JOB_BASE_NAME.startsWith('dev2')) {
env.ACR_TAG='dev2'
}
else if (env.JOB_BASE_NAME.startsWith('qa1')) {
env.ACR_TAG='qa1'
}
是否有更好的方法可以完成此任务而不将环境名称嵌入作业名称中?我不能使用$env.BRANCH_NAME方法
这是我的设置:
DEV1(视图)
DEV2
答案 0 :(得分:1)
.graph{
padding: 0;
display: block;
margin: 0 auto;
max-width: 100%;}
在NODE_NAME
块中获取其名称。node
设置为自定义环境变量,并在ACR_TAG
块内使用它(在每个节点上管理Jenkins->管理节点->配置( )->节点属性->勾号环境变量)。答案 1 :(得分:0)
您可以只使用parameters来定义要部署到的环境。我正在为您的用例使用选择参数。我只是将param.TARGET_ENV
的值提供给全局库,该库然后称为Ansible。