從Jenkins中,基於ANT XML中存在的目標,我將調用該目標。該目標有SSHEXEC
任務。SSHEXEC任務有一個腳本調用Ant中的命令,從Jenkins調用,在2小時後超時
在那個SSHEXEC
任務中,命令調用腳本。
基本上腳本代碼都象下面這樣:
waitForAggregationJobCompletion()
{
while [ 1 ]
do
# Checks for the condition
if [ #Condition] ;then
break;
fi
if [ #Different condition ]; then
break;
fi
done
waitForAggregationJobCompletion
基本上一旦此功能「waitForAggregationJobCompletion
」被調用時,它進入而[1]環&保持爲狀態檢查。一旦如果滿足「IF」條件下存在的條件,就應該中斷。
如果腳本運行1.5小時,則運行良好。但是如果腳本運行時間較長,在Jenkins中它會表示它仍在執行,但是在Linux服務器上它將不會運行。
是否由於sshexec
ANT中的任務只能將腳本進程保存一段時間?或者我需要在sshd_config
文件中添加任何參數,然後在[1]基於條件的腳本運行較長時間之前觸發此文件。
我已經把腳本中的日誌重定向&一個echo語句重新指向/dev/null
,但它沒有解決。
當我保持日誌重定向時,它打印該日誌的日期爲關閉2.10小時&然後在該文件中沒有日誌記錄。
你能幫我嗎?
目前,我在我的服務器上的/ etc/ssh/sshd_config中添加了客戶端參數。這是工作。謝謝。在客戶端,我..詹金斯方面,如果我添加ServerAliveInterval爲120,連接將永遠活着?我是否還需要添加ServerAliveCountMax,以便在一段時間後可以結束打開的ssh連接。 –
@DheerajKumarY是的,ServerAliveCountMax可能會幫助客戶端。 – VonC