jenkins 學習記錄2

主題

  在以前的學習中(http://www.cnblogs.com/abcwt112/p/6274575.html)我已經學會怎麼打包了..這篇文章記錄分享我學習如何利用jenkins將打完的包發佈到遠程服務器上部署並重啓應用.實現自動更項目.html

 

效果

http://ojz58eu0w.bkt.clouddn.com/%E5%BD%95%E5%83%8F6.wmvjava

 

配置

配置SSH鏈接

首先應該要在jenkins的系統配置裏配置SSH鏈接的信息git

最主要的就是 host的地址和username和password...買過VPS遠程用過XSHELL的確定都知道web

 

配置POST STEP

在打完包之後要把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裏點點鼠標打個包...遠程服務器就自動更新代碼重啓了...爽歪歪

相關文章
相關標籤/搜索