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