我在 Jenkins 中有一个用于Checkmarx的插件,它扫描源代码以进行静态代码分析。jenkins 中的每项工作是否都必须使用该插件?
就此而言,任何插件。
我在 Jenkins 中有一个用于Checkmarx的插件,它扫描源代码以进行静态代码分析。jenkins 中的每项工作是否都必须使用该插件?
就此而言,任何插件。
你可能不想听到的答案是:不。
您可以始终强制执行某些事情的唯一方法是为您自己的“项目类型”(而不是 Maven 或自由风格)编写自己的插件,然后强制每个人都使用您的项目类型。
找到了一种隐含的方式来做到这一点。
按计划运行它,它将迫使每个人都使用它。
正如我所说,这是一种隐含的方式。
Checkmarx 插件提供了一个构建步骤,因此它会在每次作业运行时运行。如果我正确理解了这个问题,则无需强迫。只需确保未选中“如果由 SCM 更改触发则跳过扫描”标志,这是默认设置。在此处查看有关该插件的更多信息:https ://checkmarx.atlassian.net/wiki/display/KC/Configuring+a+Scan+Action
下载作业的 config.xml 并将其发回是一个坏主意,原因有几个。首先 checkmarx 不需要编译代码,因此您在构建从站上浪费了宝贵的周期。第二个 Jenkins 作业可以做的不仅仅是编译,它们可能会意外地部署到生产中。只是不要这样做。做你想做的最好的方法是下载 config.xml 文件,然后提取存储库 url。您可以使用 Checkmarx rest api 来执行扫描。您可能可以以某种方式在 checkmarx 中命名该程序,以将其与 jenkins 工作联系起来。