我是否可以强制Jenkins中的插件在每次运行任何作业时运行

时间:2015-01-15 17:01:28

标签: jenkins jenkins-plugins jenkins-cli

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

对于任何插件。

4 个答案:

答案 0 :(得分:1)

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

您可以随时强制执行某些操作的唯一方法是为您自己的“项目类型”(而不是Maven或Free-style)编写自己的插件,然后强制每个人都使用您的项目类型。 / p>

答案 1 :(得分:1)

找到了隐含的方法。

  1. 使用jenkins rest api(batch,python,ruby) - 运行所有工作 config.xml中。
  2. 下载jobConfig.xml
  3. 使用插件更新xml(在本例中为checkmarx)config
  4. 将其上传(POST)回jenkins服务器。
  5. 按计划运行此操作,它将强制所有人使用它。

    正如我所说,这是一种隐含的做法。

答案 2 :(得分:0)

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

答案 3 :(得分:0)

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