我是jenkins的新手并尝试使用Multijob插件配置服务器客户端方案。
所以这是它应该如何:
阶段1:编译代码。 在这个项目中,运行一个单独的项目,其中只给出了编译shell命令
阶段2:运行服务器 在这个中,给出了一个shell命令项目来运行服务器
阶段3:运行客户端 在这一个中,客户端命令应该运行
问题面临:项目暂停,因为阶段2永远不会结束(失败或成功)。因为服务器总是运行一个。
我尝试在第2阶段将并行客户端的运行作为差异作业,但有时客户端作业在服务器作业之前开始运行。此外,我有多个客户工作,因此为他们创建一个不同的阶段是明智的。
有人可以帮我解决这个问题。
答案 0 :(得分:0)
当阶段2运行shell命令时,我假设服务器在Linux上运行。在服务器运行命令之后放置一个&符号以将进程置于后台:
run_server &
,第2阶段将在服务器启动后立即完成。您可能还想将服务器的控制台输出发送到文件,例如
run_server > server.log 2>&1 &
(2>& 1将stdout和stderr输出发送到同一个文件)