優秀博客轉自:http://www.javashuo.com/article/p-mzjuqgdo-gr.htmlhtml
僅做複習用途linux
1.下載jenkinsgit
地址:https://jenkins.io/index.htmlweb
本人下載了2.19.3版本的war包:jenkins.warshell
2.安裝jenkinswindows
拷貝jenkins.war到tomcat的webapps文件夾下,若是tomcat是啓動的,jenkins項目會自動解壓啓動的,若是tomcat是中止的,須要啓動tomcat服務,進入bin文件夾,linux環境下執行 ./startup.sh便可啓動服務,windows下雙擊startup.bat便可。tomcat
而後,訪問地址:http://192.168.17.155:8080/jenkins ,具體ip爲你部署的機器的ip, 看到以下界面,那麼恭喜你,jenkins啓動了。安全
爲了安全,jenkins要求你填寫初始化密碼,密碼在提示的文件裏面,找到該文件,拷貝出密碼,填寫在下面的文本框中,點擊Continue便可。(若是windows下,tomcat的控制檯也能看到提示的密碼,linux下查看tomcat的catalina.out這個日誌文件中也能找到此密碼。)服務器
選擇安裝方式,選擇第一種便可,點擊一下,進入以下界面app
各類插件安裝完後,開始設置帳戶信息,之後用此帳戶登陸jenkins
而後進入首頁
3.安裝插件
上述默認安裝的插件還不夠
依次點擊 系統管理->插件管理-> 可選插件-> 過濾搜索框中 查找以下插件:
Maven Integration plugin
SSH plugin
Deploy to container Plugin
4.新建構建任務
找到代碼管理的地方,若是是svn管理的,請選擇Subversion,填入項目地址和帳號信息,若是是git,填寫git信息便可
構建觸發器,去掉全部勾選,採用手動點擊觸發便可
上述信息提示配置一下maven的安裝路徑,咱們照作便可,順便配置好jdk路徑
maven構建命令配置
部署配置
tomcat用戶在conf/tomcat-user.xml裏面配置便可,下面給出配置
<tomcat-users> <role rolename="manager-gui" /> <role rolename="manager-status" /> <role rolename="manager-jmx" /> <role rolename="manager-script"/> <role rolename="admin-gui"/> <role rolename="admin-script"/> <user username="tomcat" password="tomcat" roles="manager-gui,manager-status,manager-jmx,manager-script,admin-gui,admin-script"/> </tomcat-users>
保存配置
5.構建
點擊導航jenkins -> My Views -> 點擊study項目-> 當即構建
若是發現界面卡死,多是jdk內存溢出,出現以下
設置一下tomcat的jdk參數便可
windows在catalina.bat 文件裏添加以下參數(添加到文件開頭):
set JAVA_OPTS=-server -XX:PermSize=512M -XX:MaxPermSize=2048M -Xms512M -Xmx2048M -XX:MaxNewSize=512M
linux在catalina.sh文件裏添加以下參數(添加到文件開頭):
JAVA_OPTS="-server -XX:PermSize=256M -XX:MaxPermSize=1024m -Xms512M -Xmx1024M -XX:MaxNewSize=256m"
是否添加成功,可使用 jps -v 命令查看(windows和linux下都可)
從新啓動tomcat,從新點擊構建便可,在Console Output裏能夠看到整個構建的過程,出現以下圖就表示整個構建部署成功了
6.附上shell腳步部署方式,更加靈活些(jenkins和服務器必須都是linux機器)
思路就是,執行遠程腳本關閉tomcat,而後執行本地腳本拷貝文件到遠程,再執行遠程腳本啓動tomcat服務。上述scp命令傳輸文件不用密碼,必須配置一下ssh的密鑰對,配置方式以下:
這裏假設主機A(192.168.100.3)用來獲到主機B(192.168.100.4)的文件。
在主機A上執行以下命令來生成配對密鑰:
ssh-keygen -t rsa
遇到提示回車默認便可,公鑰被存到用戶目錄下.ssh目錄,好比root存放在:
/root/.ssh/id_rsa.pub
將 .ssh 目錄中的 id_rsa.pub 文件複製到 主機B 的 ~/.ssh/ 目錄中,並更名爲 authorized_keys,
到主機A中執行命令和主機B創建信任,例(假設主機B的IP爲:192.168.100.4):
scp ~/.ssh/id_rsa.pub 192.168.100.4:/root/.ssh/authorized_keys
下面就能夠用scp、ssh命令不須要密碼來獲取主機B的文件了
ssh 192.168.100.4 回車就不須要密碼了。