Bamboo中是否可以设计有条件执行的任务

34次阅读
没有评论

问题描述

想知道在Bamboo中是否可以根据分支名称执行不同的任务(例如,在发布分支中执行回归测试,而不是执行大规模集成测试)。
用户还想知道是否有一种机制可以在Bamboo的用户界面中实现这一点。

解决方案

请注意以下操作注意版本差异及修改前做好备份。

方案1

Atlassian Labs提供了一个插件,可以实现这个功能。该插件名为”Conditional Tasks for Bamboo”,可以在Bamboo的市场中找到。该插件支持Bamboo 6.7.1及以上版本。
你可以在以下链接中找到该插件的详细信息:
https://marketplace.atlassian.com/apps/1219706/conditional-tasks-for-bamboo?hosting=server&tab=overview
请注意,该插件仅支持Bamboo 7.0.6及以下版本。在Bamboo 7.1及以上版本中,条件任务是一个标准功能。
你可以在以下链接中找到Bamboo 7.1版本的发布说明:
https://confluence.atlassian.com/bamboo/bamboo-7-1-release-notes-1013854809.html

方案2

使用REST请求触发相同的计划,并使用变量来区分不同的分支可能是一种解决方法。
另一种方法是通过REST请求以不同的方式触发相同的计划,并使用变量来区分不同的分支。
以下是一种实现方法:
1. 在计划配置的变量中定义一个变量,例如myvariable
2. 在REST请求中设置bamboo.variable.myvariable的值,例如设置为”1″或”2″。
3. 在计划阶段中添加一个脚本任务,并使用变量$bamboo_myvariable
下面是一个示例脚本:

if [ "$bamboo_myvariable" == "1" ]; then
  # 执行变体1的操作
fi
if [ "$bamboo_myvariable" == "2" ]; then
  # 执行变体2的操作
fi

如果你想根据分支来改变行为,Bamboo默认提供了一些变量,例如bamboo_planRepository_1_branch,你可以类似地使用这些变量来区分不同的分支。

正文完