无法在 MS Team Foundation Server 2015 上创建 CxSAST 构建步骤

Posted

技术标签:

【中文标题】无法在 MS Team Foundation Server 2015 上创建 CxSAST 构建步骤【英文标题】:Cannot create CxSAST build step on MS Team Foundation Server 2015 【发布时间】:2021-03-03 23:28:34 【问题描述】:

我在 MS Team Foundation Server 2015 SP 3 (checkmarx.cxsast-2020.3.11.vsix) 上安装了 Checkmarx 插件。在 TFS Web GUI 的扩展部分中,插件显示为“已安装”和“活动”。但是,当我尝试将 Checkmarx 构建步骤添加到构建管道时,没有可用的 Checkmarx 选择。文档说该插件应该适用于 Azure Devops 服务器以及较旧的 Team Foundation Server。有什么提示吗?

【问题讨论】:

【参考方案1】:

TFS 2015 很古老,make sure it's updated to 2015.4.2patch6 至少服务器本身比您当前的版本更安全,它也可能解决一些扩展安装问题。当您购买像 CheckMarx 这样的产品时,我希望您的 TFS 服务器安装最新的补丁;)。

您可能遇到了这个错误which was fixed in Update 4:

在 TFS 中安装任务存在许多问题,这些问题已在某处的 TFS 2017/2018 中修复...其中一些问题可以通过以下方式解决:

等待中 清除浏览器缓存 禁用/启用扩展 卸载/重新安装扩展

问题是由于后台作业从扩展中提取构建任务并将它们安装到集合中。

您可以通过使用 tfx-cli 手动将任务推送到集合来绕过该作业。

> 7z x checkmarx.cxsast-2020.3.11.vsix -o.\ext
> npm install tfx-cli -g
> tfx login --auth-type basic --service-url http://jessehouwing:8080/tfs/DefaultCollection
> tfx build task upload --task-path .\ext\CxScanV8_6 --service-url http://jessehouwing:8080/tfs/DefaultCollection
> tfx build task upload --task-path .\ext\CxScanV8_8 --service-url http://jessehouwing:8080/tfs/DefaultCollection
> tfx build task upload --task-path .\ext\CxScanV19 --service-url http://jessehouwing:8080/tfs/DefaultCollection
> tfx build task upload --task-path .\ext\CxScanV20 --service-url http://jessehouwing:8080/tfs/DefaultCollection

您可能需要使用 fiddler 或 ntlm-proxy 来处理针对服务器的身份验证:

https://jessehouwing.net/tfs-2015-publish-build-tasks-without-enabling-basic-auth/

【讨论】:

【参考方案2】:

升级到 Azure Devops 2019 解决了,非常感谢!似乎确实在 TFS 2015 上安装新插件根本不起作用。所以问题与我最初认为的 Checkmarx 无关。

【讨论】:

你可以mark your reply as an answer,以防其他人面临同样的错误信息。

以上是关于无法在 MS Team Foundation Server 2015 上创建 CxSAST 构建步骤的主要内容,如果未能解决你的问题,请参考以下文章

Team Foundation 无法从 Team Foundation Server 检索团队项目列表

使用 Monodevelop 的 Team Foundation 服务和 Git 支持

Team Foundation for Mono

无法连接到 Team Foundation Server

无法连接到Team Foundation Server

Team Foundation Server 突然无法连接(错误:TF400324)