一。使用jenkins進行持續集成的通常流程: web
1.第一步:上傳項目。 spring
我使用的是Intellij idea 開發的web 項目(spring,spring mvc ,hibernate,maven), 當編寫了一部分代碼後,想要測試,怎麼辦? 使用Tortoise SVN ,將項目傳到 Visual SVN Server上, 數據庫
2.第二步:執行構建。 windows
在jenkins中手動構建或定時構建,它會從Visual SVN Server 上下載你剛剛上傳的項目。windows用戶下載到C:\Users\Administrator\AppData\Local\jenkins\workspace\hellojenkins(此爲項目名) ,而後jenkins自動調動hellojenkins下的pom.xml文件,進行構建,測試,並打war包,war包會放到hellojenkins\target目錄下。(在這以前,請先用idea 測試一下pom.xml可否打出war包。) 瀏覽器
3.第三步:部署。 tomcat
將C:\Users\Administrator\AppData\Local\jenkins\workspace\hellojenkins\target\hellojenkins.0.0.1.war包放到tomcat/webapp目錄下。。。 mvc
上面整理了一下總體的流程。下面詳細說說怎麼作: app
1.安裝配置jenkins. webapp
從jenkins官網下載jenkins.war包,放到tomcat/webapp下,啓動tomcat, 瀏覽器輸入http://localhost:8080/jenkins 進入jenkins的管理界面(徹底使用web頁進行配置,無數據庫)。而後點擊系統管理,進入到系統設置界面中。 maven
系統設置界面中,大部分使用默認設置,配置以下路徑(主要是jdk,maven,ant),
保存便可。
2.jenkins新建,配置job(用戶構建一個maven項目),
如圖所示,選擇新建,構建一個maven項目輸入item名稱,這裏叫hellojenkins
點擊OK,進行hellojenkins的配置界面。
3。配置hellojenkins
3.1 配置版本控制工具----源碼管理,這一步我選擇Subversion.以下圖所示,
當執行hellojenkins構建時,會從這個地址下載項目到jenkins,的workspace目錄的,如,C:\Users\Administrator\.jenkins\workspace
3.2 配置部署插件。
這一步須要回到jenkins系統管理中的管理插件。如圖,下載安裝Deploy Plugin
3.3重啓tomcat後,進入管理插件界面,查看插件是否安裝成功,接下來,配置部署。以下圖;
以下圖所示
3.4 點擊應用,保存。(別高興太早了。) 這一步還須要配置tomcat的user,
如圖,修改tomcat/conf/tomcat-user.xmf文件中的用戶
<role rolename="tomcat"/>
<role rolename="role1"/>
<role rolename="manager-gui"/>
<role rolename="manager-script"/>
<role rolename="manager-jmx"/>
<role rolename="manager-status"/>
<role rolename="admin-gui"/>
<user username="tomcat" password="tomcat" roles="tomcat,manager-gui,admin-gui,manager-jmx,manager-script,manager-status,role1"/>
這裏tomcat的用戶名密碼都是tomcat,也就是上圖中寫的那個。
重啓tomcat.
4.全部工做作好了,下一步,將在idea開發出的maven項目hellojenkins 經過tortoise svn 上傳到visual svn server上。
5.點擊job頁,進行當即構建 ,查看輸入日誌。
我這裏的svn倉庫中一個空項目,因此構建失敗了。這裏應該是構建成功後,會有 Deploy war 類的信息提示。
這一步若是項目比較小的話,就沒問題了。若是項目用了spring,hibernate,的話,tomcat可能 會報內存溢出的錯誤,解決辦法就是在catalana.bat 的第一行加入
set JAVA_OPTS=-Xms1024m -Xmx1024m -XX:PermSize=256m -XX:MaxNewSize=512m -XX:MaxPermSize=512m
這一句是用來設置內存大小的。
囉嗦了這麼多,也不知道能幫到別人不,若有問題,發我郵件吧《641041018@qq.com》.
補充一個,若是svn ,jenkins , 測試的tomcat , 開發環境所有分離時,應該怎麼作的示意圖。