一、傳統(tǒng)發(fā)布流程 VS 持續(xù)集成
傳統(tǒng)的發(fā)布流程:
本地把項目打包
通過FTP等工具,傳輸?shù)椒?wù)器
關(guān)閉tomcat,把打包的項目放到webapp目錄下
啟動tomcat
缺點:
速度慢
容易出錯
有了jenkins以后的發(fā)布流程:
用戶在jenkins上點擊某個按鈕進行發(fā)布
jenkins收到發(fā)布命令
jenkins從SVN上把源代碼download下來
jenkins根據(jù)你設(shè)置的mvn命令進行打包
jenkins把你打包的好的war工程傳輸?shù)絫omcat的webapps目錄下
tomcat啟動
對于程序員而言,只要做兩件事:
在jenkins上配置某個項目的部署流程
在jenkins上點擊某個項目的部署按鈕,進行一鍵部署
對于想要快速部署Jenkins,那么推薦采用下面的這種 “WAR包” 的方式進行安裝,如果需要更好的把控Jenkins,想要自己進行更加細(xì)致的配置,那么建議采用 “YUM安裝” 的方式(安裝方法見我的文章 “ CentOS部署Jenkins-YUM安裝(方法2) ” )。
二、部署方法
WAR包安裝方法的推薦配置:
至少是Java 7,但建議使用Java 8
內(nèi)存大于512MB
安裝準(zhǔn)備:
安裝JDK、Tomcat
配置好tomcat的虛擬目錄,端口可以被正常訪問
安裝方法:
1.網(wǎng)站根目錄創(chuàng)建jenkins的webroot目錄
[root@iZbp ~]# cd /data/wwwroot/
[root@iZbp wwwroot]# mkdir jenkins
2.下載jenkins的war包
[root@iZbp wwwroot]# wget http://mirrors.jenkins.io/war-stable/latest/jenkins.war
3.重啟tomcat服務(wù)
[root@iZbp wwwroot]# service tomcat restart
4.防火墻添加規(guī)則,允許9009端口的訪問通過
[root@iZbp wwwroot]# iptables -A INPUT -p tcp --dport 9009 -j ACCEPT
[root@iZbp wwwroot]# service iptables save
[root@iZbp wwwroot]# service iptables restart
三、瀏覽器訪問,并初始化配置
1.打開瀏覽器,訪問[http://x.x.x.x:9009,開始配置jenkins]

查看初始密碼位置:
[root@iZbp wwwroot]# cat /var/lib/jenkins/secrets/initialAdminPassword
c1b6a0048f714df99b6bc44bf7f49ebc




參考鏈接:官方指引:https://jenkins.io/doc/
tomcat的server.xml推薦配置:
<Service name="Catalina4">
<Connector port="9009"
protocol="org.apache.coyote.http11.Http11AprProtocol"
connectionTimeout="20000"
redirectPort="8443"
maxThreads="1000"
minSpareThreads="20"
acceptCount="1000"
maxHttpHeaderSize="65536"
debug="0"
disableUploadTimeout="true"
useBodyEncodingForURI="true"
enableLookups="false"
URIEncoding="UTF-8" />
<Engine name="Catalina" defaultHost="localhost">
<Realm className="org.apache.catalina.realm.LockOutRealm">
<Realm className="org.apache.catalina.realm.UserDatabaseRealm"
resourceName="UserDatabase"/></Realm>
<!--&vhost-jenkins.xxx.com;-->
<Host name="localhost" appBase="/data/wwwroot/jenkins" unpackWARs="true" autoDeploy="true">
<Context path="" docBase="/data/wwwroot/jenkins/jenkins" debug="0" reloadable="true" crossContext="true"/>
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
prefix="jenkins.ddxstore.com_access_log." suffix=".txt" pattern="%h %l %u %t "%r" %s %b" />
<Environment name="JENKINS_HOME" value="/data/wwwroot/jenkins/jenkins" type="java.lang.String"/>
</Host>
</Engine>
</Service>