Jenkins 后台的生成过程 - 不会排队的工作

F1s*_*her 0 java shell continuous-integration jenkins wiremock

我想在启动服务器的 Jenkins 上工作(WireMock 上的 MockServer)。

服务器从 *.jar 文件启动,从终端启动。

java -jar serverLaunch.jar
Run Code Online (Sandbox Code Playgroud)

它接管了我的控制台。为了避免这种情况,我修改了它并执行以下操作:

java -jar serverLaunch.jar &>/dev/null &
Run Code Online (Sandbox Code Playgroud)

这在我的本地 PC 上对我有用。现在我想把它移到詹金斯。

如果我尝试从 Jenkins Job 中的“Shell 命令”块执行此操作,则:

一种) java -jar serverLaunch.jar

  • 我的 Jenkins 中有任务锁定在队列中,我不想要那个,但服务器启动并工作。

b) java -jar serverLaunch.jar &>/dev/null &

  • 工作以成功结束,但我的服务器不存在。

我也在 .sh 脚本和 .rb 脚本中包装了这个命令。知道如何使它工作吗?


我试过这个:https : //wiki.jenkins-ci.org/display/JENKINS/Spawning+processes+from+build

然后在詹金斯的“Shell 脚本”中:

daemonize -E BUILD_ID=dontKillMe /bin/bash launch.sh
Run Code Online (Sandbox Code Playgroud)

但它也通过了,但服务器不活跃。

F1s*_*her 5

我必须检查“将环境变量注入构建过程”并添加:

BUILD_ID=dontKillMe

现在它正在工作。