2014-05-01 56 views
1

我有一個ant構建腳本,連接到遠程服務器並使用SSHExec啓動本地構建。此版本大約需要1分鐘,當它完成它給我發電子郵件,但螞蟻任務,我有:如何使Ant任務「SSHExec」運行命令並在其完成之前退出?

<sshexec 
    host="${deploy.host}" 
    username="${deploy.username}" 
    trust="true" 
    keyfile="${user.home}/.ssh/id_rsa" 
    command="~/updateGit.sh"/> 

會等到劇本完成。我想傳遞一個&像這樣(我想我不得不逃避它在一個build.xml):

<sshexec 
    host="${deploy.host}" 
    username="${deploy.username}" 
    trust="true" 
    keyfile="${user.home}/.ssh/id_rsa" 
    command="~/updateGit.sh &amp;"/> 

但是,這似乎並沒有發揮作用。如果這個額外的細節可以幫助任何人,腳本會產生大量的輸出,而慢速的網絡連接可能會導致腳本花費更長的時間(因爲它的輸出被回送,這種方法的假設是我只關心輸出其之後進行,所以如果我裝箱打包到電子郵件中,我可以監視我的收件箱作爲構建踢出,基本上它是一個人可憐的持續集成)

回答

2

運用this answer(信息和nohup命令)我更新我的任務如下:

<sshexec 
    host="${deploy.host}" 
    username="${deploy.username}" 
    trust="true" 
    keyfile="${user.home}/.ssh/id_rsa" 
    command="nohup ~/updateGit.sh &gt; /dev/null 2&gt; error.log &lt; /dev/null &amp;"/> 
相關問題