2011-09-06 143 views
0

我使用Hudson進行CI和Glassfish服務器的重新啓動。這很方便,因爲不需要ssh訪問。從哈德森啓動Glassfish

與shell命令的簡單哈德森作業中使用的工作:

cd /opt/glassfish3/glassfish/bin; 
./asadmin start-domain domain1; 

但是從一些時間(不記得)這個作品很奇怪:作業吊,直至啓動程序完成並退出,有在日誌中沒有例外:

[#| 2011-09-07T02:36:06.280 + 0400 |信息| glassfish3.1 | javax.enterprise.system.core.com.sun.enterprise.v3 .server | _ThreadID = 1; _ThreadName = Thread-1; | GlassFish Server開源版3.1(43)啓動時間:Felix(3,022ms),啓動服務(38,884ms),總計(41,906ms) |#]

但是GF其實並沒有開始!系統中沒有這樣的過程!所以我必須從ssh控制檯手動執行相同的操作...似乎只要hudson作業完成,GF的處理過程就完成了。

謝謝,安東

回答

0

找到了答案。還有其他一些方法,但最簡單的是非常好奇:)。只需使用env變量:

BUILD_ID=dontKillMe 

就是這樣!這告訴詹金斯不要完成這項工作啓動的流程。 作爲設置這些變量的插件,我使用Jenkins Environment Inject Plug-in

希望這會幫助其他人。

1

也許哈德森的行爲改變了分叉進程。使用http://embedded-glassfish.java.net/nonav/apidocs/http://weblogs.java.net/blog/bhavanishankar/archive/2011/03/02/quick-introduction-embeddability-glassfish-open-source-edition-31 或: 可以在嵌入模式(進程)也開始GlassFish的

java -jar glassfish/modules/glassfish.jar 

(注意,您可以省略域名,如果只有一個配置域)。

+0

謝謝,亞歷。 Java -jar ...是一件好事,它將日誌直接輸出到哈德森控制檯,但是這個過程在哈德森內部啓動,並且作業永遠掛起..我找到了解決方案,請參閱下面的內容 – bitec

0

解決問題的另一種方法就是在jenkins的開頭添加下面幾行。

的java -Dhudson.util.ProcessTreeKiller.disable =真-jar jenkins.war