2010-03-26 78 views
7

想象有一个在Bamboo一个项目有两个构建计划:分期部署(SD)和生产部署(PD)。 Building SD检出最新来源,建立它们并将网站部署到登台服务器。目前,PD完全相同,即将最新版本的网站部署到生产服务器。显然,这不是很好:我希望能够部署先前部署在临时服务器上的网站的相同版本,而不是最新版本。竹子构建特定SVN修订

举例说明:假设我们在r101的SVN回购。点击“Build SD”将部署一个网站版本,例如2.1.0.101到登台服务器。现在我们进行一次突破性更改,最终结果为r102。现在我想部署到生产服务器。如果我点击“Build PD”,Bamboo将愉快地检出r102并构建它,导致版本2.1.0.102被部署到生产服务器。

然而,我想要做的是构建和部署先前内置于SD计划(即2.1.0.101)中的版本。

当然,我可以让SD计划将最新成功的版本标记为tags/builds/latest,但我宁愿让Bamboo自己处理该版本。

回答

1

我最终做的是用一个众所周知的标签(如`/ tags/project-latest')标记每个成功的登台部署,然后从该标签构建生产版本。

5

从您的构建命令中,您可以指定修订使用custom.svn.revision.number选项。所以,这将会像-Dcustom.svn.revision.number=101那样进入PD计划的配置。

注意:您需要Bamboo v1.1或更高版本。

+0

有没有办法做到这一点,而不必手动输入版本号?有没有办法从可持续发展计划中“推广”一个构建,并让PD计划找出具体的SVN修订版? (也许当SD计划进行构建时,请将SVN修订记录在特定于构建的日志或清单文件中) – trafalmadorian 2011-08-16 07:02:04

+0

我希望这不再是这种情况 - 从UI执行此操作应该是微不足道的。将继续寻找:-) – 2012-07-18 07:58:10

+0

缺少有关如何完全指定此信息。内置的“源代码签出”任务不提供指定自定义修订版本号的方法,也没有办法在那里指定'-D'参数。你可能希望编辑你的答案来详细说明。 – Isaac 2013-02-26 01:37:37