3

我正在尝试创建一个构建计划,该计划在其第一阶段具有 VCS 标记(或 VCS 分支)任务,然后在稍后阶段使用新创建的标签(或分支)从中签出代码(存储库是 SVN)。

我为标签/分支名称使用了一个计划变量${bamboo.repoBranch}——这个变量也用于存储库 URL。我知道在执行标记/分支任务之前,此 URL 无效,但尝试从该 URL 结帐的任务处于后期阶段。

据我了解,有类似代码更改检测阶段,在此期间 Bamboo 检查所有已定义存储库的更改(无论它们在计划中引用的顺序,或者即使它们根本没有在计划中使用)。我认为这是我的方法不起作用的原因,对吗?

这是我得到的例外:

com.atlassian.bamboo.repository.InvalidRepositoryException: svn:

at 

com.atlassian.bamboo.repository.svn.SvnRepository.detectCommitsForUrl(SvnRepository.java:527)

at 

com.atlassian.bamboo.repository.svn.SvnRepository.collectChangesSinceLastBuild(SvnRepository.java:278)

我试图实现的另一种选择是制定一个创建标签/分支的计划和一个使用新创建的标签/分支的计划的子计划。这样做的问题是计划变量不能传递给子计划 - 我想使用 Run Customized 来覆盖要传递给子计划的值${bamboo.repoBranch}和覆盖的值。从我读到的解决方法是使用脚本任务,它使用 Bamboo REST API 将下一个执行计划排队,但这似乎不是一个非常优雅的解决方案。

我试图实现的任何其他方法都会有所帮助。

谢谢

4

0 回答 0