【发布时间】:2019-04-15 15:44:53
【问题描述】:
当我在 bitbucket 的 master 分支中创建标签时,我想构建我的 jenkins 管道。我在提交 master 分支时构建了 jenkins,但我似乎无法构建它以创建标签。
这是我目前所拥有的:
stage('Update DEV ECS') {
when { branch 'dev' }
steps {
script{
withAWS(region:'us-east-1') {
def outputs = cfnUpdate(stack: 'DEV-TARGETDB-SERVICE',
params:["ImageUrl=${env.FULL_ECR_URL}"],
keepParams:[
'EnvVarName1',
'EnvVarValue1',
'EnvVarName2',
'EnvVarValue2',
'EnvVarName3',
'EnvVarValue3',
'ContainerCpu',
'ContainerMemory',
'ContainerPort',
'DatabaseHost',
'DatabaseName',
'DatabasePassword',
'DatabaseUser',
'DesiredCount',
'HttpCode',
'HTTPSListener',
'Path',
'Priority',
'Role',
'TaskRole',
'ServiceName',
'StackName',
'DataDogAPIKey',
'TaskCpu',
'TaskMemory'
],
timeoutInMinutes:15,
pollInterval:1000)
}
}
}
}
stage('Update TEST ECS') {
when { branch 'master' }
steps {
script{
withAWS(region:'us-east-1') {
def outputs = cfnUpdate(stack: 'TEST-TARGETDB-SERVICE',
params:["ImageUrl=${env.FULL_ECR_URL}"],
keepParams:[
'EnvVarName1',
'EnvVarValue1',
'EnvVarName2',
'EnvVarValue2',
'EnvVarName3',
'EnvVarValue3',
'ContainerCpu',
'ContainerMemory',
'ContainerPort',
'DatabaseHost',
'DatabaseName',
'DatabasePassword',
'DatabaseUser',
'DesiredCount',
'HttpCode',
'HTTPSListener',
'Path',
'Priority',
'Role',
'TaskRole',
'ServiceName',
'StackName',
'DataDogAPIKey',
'TaskCpu',
'TaskMemory'
],
timeoutInMinutes:15,
pollInterval:1000)
}
}
}
}
stage('Update PROD ECS') {
when {
branch 'master'
tag 'v*'
}
steps {
script{
withAWS(region:'us-east-1') {
def outputs = cfnUpdate(stack: 'PROD-TARGETDB-SERVICE',
params:["ImageUrl=${env.FULL_ECR_URL}"],
keepParams:[
'EnvVarName1',
'EnvVarValue1',
'EnvVarName2',
'EnvVarValue2',
'EnvVarName3',
'EnvVarValue3',
'ContainerCpu',
'ContainerMemory',
'ContainerPort',
'DatabaseHost',
'DatabaseName',
'DatabasePassword',
'DatabaseUser',
'DesiredCount',
'HttpCode',
'HTTPSListener',
'Path',
'Priority',
'Role',
'TaskRole',
'ServiceName',
'StackName',
'DataDogAPIKey',
'TaskCpu',
'TaskMemory'
],
timeoutInMinutes:15,
pollInterval:1000)
}
}
}
}
dev 和 prod 阶段有效,但 prod 阶段不起作用。我什至没有在 jenkins 中看到 prod 阶段的工作(我为 dev 和 master 做)。 jenkins的项目下有一个“tags”部分,但是是空的。
【问题讨论】:
-
如果您使用多分支管道,您是否在分支源配置的行为部分添加了“发现标签”?
标签: jenkins jenkins-pipeline bitbucket jenkins-plugins