通常情況下,修改代碼,打包,上傳,發布,這么個順序發布程序。
有了Jenkins這些重復性的操作可以統統交給程序自動處理。甚至可以指定發布的時機,例如提交一次svn就自動發布,每天定時發布等。
1:安裝Jenkins
wget http://mirrors.jenkins-ci.org/war/latest/jenkins.war
2:把包放在tomcat下的webapps下面,(當然webapps路徑可以修改為自己的部署路徑)
3:ip:8080/jenkins
查看初始密碼:cat /root/.jenkins/secrets/initialAdminPassword
1、下載maven
wget http://mirrors.hust.edu.cn/apache/maven/maven-3/3.2.5/binaries/apache-maven-3.2.5-bin.tar.gz
2、解壓至/usr/local目錄
tar -zxvf apache-maven-3.2.5-bin.tar.gz
3、配置國內的源
/usr/local/apache-maven-3.2.5/conf/settings.xml 中
在mirrors中添加以下內容
4、配置環境變量etc/profile 最后添加以下兩行
- export MAVEN_HOME=/usr/local/apache-maven-3.2.5
- export PATH=${PATH}:${MAVEN_HOME}/bin
- source /etc/profile
5:測試 mvn -v
接下來要配置svn的link把兩者聯系起來。
1:首先需要添加一個tomcat的user,並賦予相應的管理員role
進入/usr/local/tomcat/conf
vi tomcat-users.xml 添加以下內容:
<role rolename="manager-gui"/>
<role rolename="manager-script"/>
<role rolename="manager-jmx"/>
<role rolename="manager-status"/>
<user username="tomcat" password="tomcat" roles="manager-gui,manager-script,manager-jmx,manager-status"/>
2:針對tomcat8.5 有個挺坑的地方,還需要改一個文件,才能讓http://IP:8080/manager/html 可以訪問,
進入/usr/local/tomcat/webapps/manager/META-INF
vi context.xml 把這一段給注釋掉
<!--<Valve className="org.apache.catalina.valves.RemoteAddrValve"
allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1" />-->
3:修改Jenkins的配置
進入全局工具配置,添加maven的路徑
再選擇管理插件,安裝一個叫做“Deploy to container Plugin”的插件
4:回到工程中,選擇“配置”
填好項目名稱和描述,使用自定義工作空間。
將svn的地址和用戶名密碼配置好,這樣jenkins才能從svn 獲取到源碼
配置maven
增加構建后操作,選擇 “Deploy war/ear to a container”,這里要填一對用戶名和密碼,就是tomcat-users.xml里配置的那個user,tomcat/tomcat
注意:如果是發布到tomcat的webapps下,context path啥也不要填,否則jenkins無法將打好的war包copy到tomcat目錄下。
5:點“立即構建”,搞定。