是否可以使用Jenkins服务器逐个运行自定义任务?

时间:2013-05-09 03:16:16

标签: groovy jenkins

是否可以使用Jenkins服务器逐个运行自定义任务?

按任务我的意思是执行一个外部groovy程序,该程序设计为特定部署的独立性能和集成测试。

如果可能,那么如何:

  1. 要在Jenkins中定义任务并对其进行分组,以便他们可以从启动组开始。
  2. 查看每项任务的输出(输出日志)。
  3. 如果有特定结果如“-1”,则停止执行整个组。
  4. 所有这些都应该在构建和部署软件后自动启动。

    我觉得必须有办法让Jenkins利用其开箱即用的功能,只是不确定如何。或者我错了,我们正在寻找自定义插件作为解决方案?

    非常感谢!

    P.S。我不是要求详细的答案,只是一般方向是好的。 Jenkins也不是必需的,它可以是另一个类似的CI服务器。

2 个答案:

答案 0 :(得分:0)

听起来这可以通过Execute shell命令的简单Jenkins任务来实现。

作业的Console Output将包含您在外部运行的进程的输出,并且脚本的退出状态可能导致任务失败(任何非零退出代码都将执行此操作默认值)。

在unix系统上,从第一行开始的#!将表示要使用的脚本环境。

要将其与其他Jenkins步骤结合使用,您可以将Build Triggers用于Build after other projects are built,并将部署步骤用作起点。

答案 1 :(得分:0)

有可能,但要小心。通常,Jenkins用于运行构建作业并将软件部署到QA或临时服务器。它不接触生产。但是当你在Jenkins开始这样做的时候,你会增加有人意外地运行一个本不应该运行的生产作业的风险。因此,如果您决定使用Jenkins,请设置一个完全独立的Jenkins实例,除了运行这些作业之外什么都不做。然后转到Manage Jenkins->配置全局安全性并设置登录用户。至少,使用“登录用户可以做任何事情”,但最好设置“基于矩阵的安全性”。然后使用Execute Shell步骤运行所需的任何作业。您可以使用构建触发器来调度作业,并且可以通过在后构建部分中设置构建其他项目来按顺序连接作业。如果您想进行更复杂的作业链接,请查看加入插件。

请将此Jenkins与您用于CI的Jenkins完全分开。