Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何将TeamCity参数传递给Maven pom.xml?_Maven_Continuous Integration_Teamcity_Jetbrains Ide - Fatal编程技术网

如何将TeamCity参数传递给Maven pom.xml?

如何将TeamCity参数传递给Maven pom.xml?,maven,continuous-integration,teamcity,jetbrains-ide,Maven,Continuous Integration,Teamcity,Jetbrains Ide,我目前正在评估TeamCity 8 我们有几个分支(主分支、开发+功能分支)和一个人工设置。 如果主/开发快照构建成功,那么它们将被部署到Artifactory。问题是,功能分支也被部署到开发存储库中 我找不到方法告诉artifactory插件忽略其他分支,但是有一个选项可以通过文件名包含/排除某些工件。 但是,特征分支的工件没有任何特殊的命名 有没有办法将分支的名称放入pom.xml中,这样我就可以使用它作为工件名称的前缀?我找到了TeamCity变量,比如“TeamCity.build.br

我目前正在评估TeamCity 8

我们有几个分支(主分支、开发+功能分支)和一个人工设置。 如果主/开发快照构建成功,那么它们将被部署到Artifactory。问题是,功能分支也被部署到开发存储库中

我找不到方法告诉artifactory插件忽略其他分支,但是有一个选项可以通过文件名包含/排除某些工件。 但是,特征分支的工件没有任何特殊的命名

有没有办法将分支的名称放入pom.xml中,这样我就可以使用它作为工件名称的前缀?我找到了TeamCity变量,比如“TeamCity.build.branch”,但不知道如何包含它们,所以TeamCity会替换它们


有人知道如何(甚至更好的方法)做到这一点吗?

teamcity公开的teamcity.build.parameter是一个配置参数。要将其更改为系统/环境参数,请在生成参数中定义一个系统参数,其值始终为%teamcity.build.parameter%


可以使用系统参数将属性传递到生成文件中。如果${env.my_parameter}构造是一个env变量,则可以使用${env.my_parameter}构造获取该值;如果将${system_parameter}构造定义为系统参数,则可以使用${env.my_parameter}构造获取其值

如果创建了分支,则应该更改版本。但听起来好像你没有这么做。您可以使用buildnumber maven插件获取有关分支(svn、git)的信息,因此这可能会有所帮助。除此之外,如果功能分支只有在与主/主干版本相同的情况下才会部署到repo,我看不出有什么问题。但这就引出了这个条目的开始。通过手动更改版本,比方说,我将功能分支的版本设置为“1.0.0-F16-SNAPSHOT”,继续操作并完成。我打开一个新的请求并等待批准。现在,版本是“1.0.0-F16-SNAPSHOT”,我想合并到开发中。如果我使用stash进行合并,错误的版本号会被推到开发中,CI服务器会将其拾取,错误的工件会被推到artifactory中。如果我在合并之前提交了一个新的版本号,CI服务器可能会在我完成合并之前接收到它,并且完全错误的工件也会被推到artifactory中。