在以前的學習中(http://www.cnblogs.com/abcwt112/p/6274575.html)我已經學會怎麼打包了..這篇文章記錄分享我學習如何利用jenkins將打完的包發佈到遠程服務器上部署並重啓應用.實現自動更項目.html
http://ojz58eu0w.bkt.clouddn.com/%E5%BD%95%E5%83%8F6.wmvjava
首先應該要在jenkins的系統配置裏配置SSH鏈接的信息git
最主要的就是 host的地址和username和password...買過VPS遠程用過XSHELL的確定都知道web
在打完包之後要把war包發送到遠程服務器並執行shell腳本,因此在build完成以後確定要配置一個post stepshell
source files寫要傳什麼文件到遠程服務器上,默認的當前地址是當前job的工做空間. 好比:tomcat
個人jenkins的安裝路徑是D:\jet\jenkins\cbash
個人job的名字是jenkins服務器
那我當前的工做空間是D:\jet\jenkins\c\workspace\jenkinsapp
我要把打出來的war包上傳.因此我寫的是target/*.wareclipse
我在遠程服務器上不想建立target目錄.因此我remove prefix裏寫的是target
由於我以前配置遠程服務器訪問的地址是/java/tomcat6(見以前的圖片),我想把war放到webapps下.因此我remote directory裏寫webapps
傳完文件之後須要執行shell腳本去重啓服務器.我寫的shell腳本名字是jenkins.sh放在webapps下.
jenkins.sh的內容以下(shell命令基本不會寫...研究了N久參考了N多例子才寫出來....= =)
1 #!/bin/sh 2 cd /java/tomcat6/webapps 3 p=$(ps -ef | grep tomcat | grep java | awk '{print $2}') 4 if [ $p ]; then 5 kill -9 $p 6 sleep 3 7 fi 8 rm -rf ./jenkins 9 rename jenkins*.war jenkins.war jenkins*.war 10 nohup /java/tomcat6/bin/startup.sh
大體意思就是若是tomcat已經啓動就直接幹掉.沒啓動就無論.而後重命名上傳的war包.而後啓動tomcat.
shell腳本一開運行在最後老是報一個錯:沒配置java路徑也沒配置tomcat路徑....
Neither the JAVA_HOME nor the JRE_HOME environment variable is defined At least one of these environment variable is needed to run this program
可是我java路徑確定是配置了的..後來百度了很久找到一篇文章:
http://blog.sina.com.cn/s/blog_64693fd40101eyyh.html
/etc/profile: 當用戶登陸時,該文件被執行. /etc/bashrc: 當bash shell被打開時,該文件被執行.
緣由大概是 由於個人java環境變量寫在profile裏...因此當SSH訪問沒有登陸的時候沒有執行..因此沒有設置環境變量...
因此我把環境變量從新再bashrc裏又寫了一遍就行了.
有了jenkins之後真的很方便...只要在本地eclipse裏寫下代碼...git提交下...在jenkins裏點點鼠標打個包...遠程服務器就自動更新代碼重啓了...爽歪歪