1. 建立 winexe 環(huán)境,build winexe 并不麻煩,只不過官方文檔比較少,下載到 source 之后,也不知道要如何 build。后來找到一個(gè)文檔,介紹了過程
cd winexe-1.00/source4
./autogen.sh
./configure
make
./bin/winexe -U “<user>%<password>” //<windows system> cmd.exe
2. 如何遠(yuǎn)程執(zhí)行,命令比較很簡單,但又是環(huán)境問題,我們在 windows 下面建立了一個(gè) administrators 組的用戶,但無法執(zhí)行,后來打開了 administrator 這個(gè)用戶,終于命令可以執(zhí)行了。
我們的腳本有兩個(gè)步驟,1. 殺掉舊進(jìn)程,2. 啟動(dòng)新的進(jìn)程,如下:
winexe -U "administrator%admin" //172.16.107.243 "taskkill /F /T /im java.exe"
cat < /dev/null | winexe -U "administrator%admin" //172.16.107.243 "java -jar c:\agent\job-agent.jar" >> /home/glodon/logs/agent243.log 2>&1 &
啟動(dòng)新進(jìn)程的時(shí)候,遇到了非常麻煩的事情,只能前臺執(zhí)行,nohup , & 這些完全不靈,如果 nohup,就會報(bào)錯(cuò),后來得到了一個(gè)方法,cat < /dev/null | winexe 解決了這個(gè)問題。
3. jenkins 執(zhí)行,jenkins 使用 Post Shell Plugin 來調(diào)用這個(gè)腳本,調(diào)用的時(shí)候一定要 nohup start.sh > /dev/null &,否則在執(zhí)行完之后,會發(fā)個(gè) sign,會把進(jìn)程結(jié)束掉。
注意,還必須要 > /dev/null,否則就會出錯(cuò),實(shí)在搞不明白原因。
弄好了這個(gè),以后就方便了,心情也挺好。