我正在尝试创建一个构建计划,该构建计划在其第一阶段具有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排队下一个执行计划,但这似乎不是一个非常优雅的解决方案。
我想要实现的任何其他方法都会有所帮助。
由于