1
在应用程序服务器(JBoss)中运行了一些测试;我们希望在Jenkins中整合这些测试。根据后台进程启动进程
在詹金斯有下列步骤(所有步骤都是蚂蚁步):
- ...(其他步骤)在后台
- 启动服务器
- 运行测试
- 停止服务器
- ...(其他步骤)
服务器需要以ba ckground为了让下列任务能够完成他们的工作。我写了下面的脚本来模拟这个:
export LAUNCH_JBOSS_IN_BACKGROUND=1
./run.sh &
sleep 400
cd /testTriggerLocation
ant run-tests
kill `cat $jBossHome/4.0.5/bin/jboss.pid`
run.sh启动服务器,它启动后它存储在jboss.pid JVM进程ID。
以正常的方式(前台进程)JBoss需要大约100秒才能启动,但在这里它取决于睡眠参数的值。如果我把200秒放在〜190 - 210秒之间,如果是300秒,则需要290 - 310秒;问题是如果在服务器启动之前触发测试,他们显然会失败。有没有办法同步这个?或者也许另一种方式来做到这一点?
为什么你需要到餐桌run.sh? – 2013-02-27 16:23:58
run.sh或它开始产生日志吗?如果是这样,你可以在这里看到某些东西在这个日志中,说出“开始”或任何它打印出来说它准备好去...然后让脚本继续..而不是只是一个睡眠。 – 2013-02-27 16:40:10
@EarlGray因为如果它是一个前台进程,它将无限期地在Jenkins中运行,然后测试将不会运行。 – m3th0dman 2013-02-27 16:59:15