1

我们运行 Jenkins 作为我们的构建服务器和本地 TFS 作为我们的源代码控制。我们在构建之前将 SonarScanner 用于 MSBuild 步骤,可以填充的字段之一是“项目版本”。此字段中的值将使用版本标记声纳分析。

在此处输入图像描述

我尝试了以下值:

  • $TFS_CHANGESET
  • ${TFS_CHANGESET}
  • ${ENV,var="TFS_CHANGESET"}

但不幸的是,我只得到了输入的文字,而不是对环境变量的评估。

有没有办法评估实际的环境变量并使用它的值?sonarqube 扫描仪文档似乎没有提供有关如何使用环境变量的信息,并且我阅读的各种帖子导致我尝试过的值似乎也不起作用!

在此处输入图像描述

参考: https ://community.sonarsource.com/t/expand-environment-variables-in-sonarqube-scanner-for-jenkins/4711

4

1 回答 1

1

如何在 Jenkins 上正确地将 TFS 变更集编号放入 SonarScanner 的项目版本字段中?

如果您使用默认方式通过源代码管理选项卡从 Azure DevOps 服务器下载代码,我们似乎无法将其配置为通过特定变更集编号下载源代码。

要解决此问题,您可以使用 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:通过特定 TFS 变更集获取源代码以获取更多详细信息。

希望这可以帮助。

于 2019-06-03T08:59:19.543 回答