2017-07-17 83 views
2

我使用TFS作为我的scm,Jenkins和SonarQube。 我正在尝试为我的maven项目运行构建,并且我也想要触发SonarQube。 我有一切工作正常,但我想从TFS添加分支的名称作为SonarQube项目键的一部分。如何让git分支名称成为SonarQube项目名称的一部分?

因此,在我的pom.xml文件中,我在我的属性中有以下行。

<sonar.projectKey>com:${env.GIT_BRANCH}</sonar.projectKey> 

然后我得到这个错误:

"com.origin/master" is not a valid project or module key. Allowed characters are alphanumeric, '-', '_', '.' and ':', with at least one non-digit.

我在想,如果有对我来说,解析这个变量来摆脱“出身/”这样我就可以使这是一个有效的办法项目键。

我可以做mvn sonar:sonar -Dsonar.projectKey="com:%GIT_BRANCH:~7%"但我想知道如果有一种方法可以做到这一切有在pom.xml文件

编辑:我与詹金斯

+1

你如何运行构建?与TFS或詹金斯?如果使用TFS构建,则可以使用变量BUILD_SOURCEBRANCHNAME而不是GIT_BRANCH,它将检索ref中的最后一个路径段。参见[构建变量](https://www.visualstudio.com/en-us/docs/build/define/variables),在TFS中可以使用任务“Jenkins Queue Job”,它可以通过[Job parameters ](https://www.visualstudio.com/en-us/docs/build/steps/build/jenkins-queue-job#arguments)设置。 –

+0

@ Andy-MSFT我正在与Jenkins一起建设:/谢谢 – kicksticks

回答