0

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

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

如果可能,那么如何:

  1. 在 Jenkins 中定义任务并将它们分组,以便他们可以从创建一个组开始。
  2. 查看每个任务的输出(输出日志)。
  3. 如果有像“-1”这样的特定结果,则停止整个组的执行。

所有这一切都应该在软件构建和部署后自动启动。

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

非常感谢!

PS我不是在要求详细的答案,只是一个大致的方向就可以了。Jenkins 也不是必需的,它可以是另一个类似的 CI 服务器。

4

2 回答 2

0

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

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

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

要将其与其他 Jenkins 步骤链接在一起,您可以使用Build TriggersforBuild after other projects are built并使用您的部署步骤作为起点。

于 2013-05-09T09:53:38.023 回答
0

这是可能的,但要小心。通常,Jenkins 用于运行构建作业并将软件部署到 QA 或登台服务器。它不涉及生产。但是,当您开始在 Jenkins 中执行此操作时,您会增加有人意外运行不应运行的生产作业的风险。因此,如果您决定为此使用 Jenkins,请设置一个完全独立的 Jenkins 实例,该实例除了运行这些作业之外什么都不做。然后去 Manage Jenkins->Configure Global Security 并设置登录用户。至少,使用“登录用户可以做任何事情”,但最好设置“基于矩阵的安全性”。然后使用 Execute Shell 步骤运行您需要的任何作业。您可以使用构建触发器来安排作业,并且可以通过在构建后部分中设置构建其他项目来顺序连接作业。

只需将此 Jenkins 与您用于 CI 的 Jenkins 完全分开即可。

于 2013-05-13T02:44:59.363 回答