我有一个带有maven任务的竹子计划。我需要传递一个带有分支名称的maven参数。
我可以使用变量${bamboo.repository.branch.name}
。
但是,我需要为某些分支覆盖此值(请参阅how to apply a regex to a bamboo variable)。
所以,在我的竹子计划中,我定义了一个名为branchName
的变量,其值为${bamboo.repository.branch.name}
。
然后,我的maven任务使用${bamboo.branchName}
,分支可以在必要时覆盖branchName
值。
那么,这可能吗?我的Bamboo计划变量branchName
可以使用另一个变量${bamboo.repository.branch.name}
作为默认值吗?
好吧,我试过了,结果还不清楚。 如果我的maven任务是:
mvn verify -B -Dsonar.branch=${bamboo.branchName}
这不起作用。它执行mvn verify -B -Dsonar.branch=${bamboo.repository.branch.name}
然而, 如果我的maven任务是:
mvn verify -B -Dsonar.branch=${bamboo.branchName} -Dignore_var=${bamboo.repository.branch.name}
然后${bamboo.branchName}
按预期替换,
并执行mvn verify -B -Dsonar.branch=develop -Dignore_var=develop
为什么?这是一个错误还是一个功能?
那么,如何正确实现这一目标?
也就是说,我需要一个竹子计划变量branchName
,其默认值为${bamboo.repository.branch.name}
,
这可以被分支计划覆盖。