網上很多關於jenkins做項目的自動化部署,各有各的方法,層出不窮,下面是我在自己的項目上做的自動化部署,很簡單,可當做入門。
聲明一下項目環境:非maven項目,平常直接打包成war包丟進tomcat中,tomcat自動重啟就完事了,但是需求是不斷被提出的,這就很蛋疼了。
一、前言
Jenkins是基於Java開發的一種持續集成工具,用於監控持續重復的工作,功能包括:
- 持續的軟件版本發布/測試項目。
- 監控外部調用執行的工作。
二、Jenkins的安裝與配置
- 下載jenkins
jenkins提供多種安裝方式如下,本文采用第二種方式。下載地址:[https://jenkins.io/download/ ](https://jenkins.io/download/ ])
- jenkins.msi安裝 就像我們平時安裝軟件一樣,點點點。
- jenkins.war 包 既然是war包,不用說大家都知道怎么啟動了,扔到tomcat就行了。
- 安裝jenkins
war直接會生成項目文件夾,不然就重啟一下tomcat。默認訪問路徑:http://localhost:8080/jenkins
- 進入,填寫復制的密碼
這些基本沒啥問題,就不累述了。
三、項目的配置
- 下載插件
- 下載Generic Webhook Trigger Plugin插件,實現檢測git倉庫是否有更新來決定是否構建。也就是說,我們提交了代碼Jenkins並不會馬上知道,那么我們可以通過webhook來解決。Jenkins的插件中心已經有對gogs的支持,真的是非常贊。
-
因為我們做的不是maven項目,不用再進行相關系統配置,主要是檢查全局工具配置中,git等是否生效,不生效的話直接在全局工具配置中紅字提示的,如我的git插件沒安裝成功,所以我還得
yum install git
一下。
-
新建項目
選擇GIT,配置倉庫地址,credentials配置Git的用戶密碼
其他都基本都默認,構建設置那里填寫自定義token參數:abc654321
構建 添加bash命令,下面代碼只為示范,意思為:先構建工程,輸出war包,等待30秒,然后刪除移動一下文件夾(因為jar -xvf編譯打包中我將目錄下內容全部編譯打包了,項目文件夾布局就會錯誤)。此外也可以通過安裝Post build task插件,實現構建完成后執行代碼
cd /root/.jenkins/workspace/iguangxi
jar -cvf /usr/local/apache-tomcat-gxwhy/webapps/iguangxi.war ./
sleep 30
rm -rf /usr/local/apache-tomcat-gxwhy/webapps/iguangxi/{.git,.settings,META-INF,src,.classpath,.project,iguangxi.sql,bin}
mv /usr/local/apache-tomcat-gxwhy/webapps/iguangxi/WebRoot/* /usr/local/apache-tomcat-gxwhy/webapps/iguangxi
rm -rf /usr/local/apache-tomcat-gxwhy/webapps/iguangxi/WebRoot
四、構建項目后及相關事項
觀察構建日志,確定構建成功