我们正在将Jenkins作为构建服务器。我们在构建之前将SonarScanner用于MSBuild步骤,可以填充的字段之一是“项目版本”。此字段中的值将用版本标记声纳分析。
我尝试了以下值:
$TFS_CHANGESET
${TFS_CHANGESET}
${ENV,var="TFS_CHANGESET"}
但是不幸的是,我只是得到了所输入的文字文本,而不是对环境变量的求值。
是否有一种方法可以评估实际的环境变量,并使用它的值代替? sonarqube扫描仪文档似乎没有提供有关如何使用环境变量的信息,并且我已阅读的各种文章(导致我尝试过的值)似乎也不起作用!
答案 0 :(得分:1)
如何在Jenkins的SonarScanner的“项目版本”字段中正确获取TFS变更集编号?
如果您通过使用“源代码管理”选项卡使用默认方式从Azure DevOps Server下载代码,则似乎我们无法将其配置为按特定变更集编号下载源代码。
要解决此问题,您可以使用Windows批处理命令来获取最新的源代码:
%TFS% workspaces -format:brief -server:{your-tfs-team-project-collection-url}
%TFS% workspace -new Hudson-%JOB_NAME%-MASTER;{your-domain-user-name} -noprompt -server:{your-tfs-team-project-collection-url}
%TFS% workfold -map $/{tfs-path-to-your-sln} C:\Jenkins\jobs\%JOB_NAME%\workspace\ -workspace:Hudson-%JOB_NAME%-MASTER -server:{your-tfs-team-project-collection-url}
%TFS% get $/{tfs-path-to-your-sln} -force -recursive -noprompt
%TFS% history $/{tfs-path-to-your-sln} -recursive -stopafter:1 -noprompt -format:brief -server:{your-tfs-team-project-collection-url}
请检查文档Jenkins: Get Source Code By Specific TFS Changeset以获得更多详细信息。
希望这会有所帮助。