1

我是 jenkins 的新手,并尝试使用 Multijob 插件配置服务器-客户端场景。

所以它应该是这样的:

阶段 1:编译代码。在这个项目中运行一个单独的项目,其中只给出编译 shell 命令

第 2 阶段:服务器运行在这一阶段,我们提供了一个 shell 命令项目来运行服务器

阶段3:客户端运行在这一阶段,客户端命令应该运行

面临的问题:项目被暂停,因为第 2 阶段永远不会结束(失败或成功)。因为服务器总是运行一个。

我尝试在第 2 阶段将客户端并行运行作为差异作业,但有时客户端作业在服务器作业之前开始运行。此外,我有多个客户工作,因此为他们创建不同的阶段是明智的。

有人可以帮我解决这个问题。

4

1 回答 1

0

在第 2 阶段运行 shell 命令时,我假设服务器在 Linux 上运行。在服务器运行命令后放置一个 & 字符以将进程置于后台:

run_server &

并且第二阶段将在服务器启动后立即完成。您可能还希望将服务器的控制台输出发送到文件,例如

run_server > server.log 2>&1 &

(2>&1 将 stdout 和 stderr 输出发送到同一个文件)

于 2014-02-28T17:08:35.207 回答