0

我在 Jenkins 中有一个用于Checkmarx的插件,它扫描源代码以进行静态代码分析。jenkins 中的每项工作是否都必须使用该插件?

就此而言,任何插件。

4

4 回答 4

1

你可能不想听到的答案是:不。

您可以始终强制执行某些事情的唯一方法是为您自己的“项目类型”(而不是 Maven 或自由风格)编写自己的插件,然后强制每个人都使用您的项目类型。

于 2015-01-22T16:43:02.700 回答
1

找到了一种隐含的方式来做到这一点。

  1. 使用 jenkins rest api(batch,python,ruby) - 运行所有作业 config.xml。
  2. 下载jobConfig.xml
  3. 使用插件更新xml(在这种情况下为checkmarx)配置
  4. 将其上传(POST)回詹金斯服务器。

按计划运行它,它将迫使每个人都使用它。

正如我所说,这是一种隐含的方式。

于 2015-01-22T18:25:15.310 回答
0

Checkmarx 插件提供了一个构建步骤,因此它会在每次作业运行时运行。如果我正确理解了这个问题,则无需强迫。只需确保未选中“如果由 SCM 更改触发则跳过扫描”标志,这是默认设置。在此处查看有关该插件的更多信息:https ://checkmarx.atlassian.net/wiki/display/KC/Configuring+a+Scan+Action

于 2015-01-19T12:17:45.027 回答
0

下载作业的 config.xml 并将其发回是一个坏主意,原因有几个。首先 checkmarx 不需要编译代码,因此您在构建从站上浪费了宝贵的周期。第二个 Jenkins 作业可以做的不仅仅是编译,它们可能会意外地部署到生产中。只是不要这样做。做你想做的最好的方法是下载 config.xml 文件,然后提取存储库 url。您可以使用 Checkmarx rest api 来执行扫描。您可能可以以某种方式在 checkmarx 中命名该程序,以将其与 jenkins 工作联系起来。

于 2016-09-08T18:07:29.717 回答