搭建Jenkins環境,部署web專案
Jenkins:
Jenkins是一個功能強大的應用程式,允許持續整合和持續交付專案,無論用的是什麼平臺。這是一個免費的原始碼,可以處理任何型別的構建或持續整合。整合Jenkins可以用於一些測試和部署技術。Jenkins是一種軟體允許持續整合。
本次演示環境為centos7.0,其他環境不做介紹
教程開始:
專案建立和git倉庫建立
- 我們現在本地建立maven專案
首頁為hello jenkins
- 在git上建立倉庫,拉取master分支
拉取程式碼到本地
Jenkins環境搭建
- 部署Tomcat,Jenkins為java專案,需要jdk和Tomcat的環境,有疑問可檢視
Linux下jdk環境搭建,
- 下載映象
Jenkins官網:https://jenkins.io/download/,點選download找到下載地址
連線伺服器執行以下命令
wget https://mirrors.tuna.tsinghua.edu.cn/jenkins/war-stable/2.121.3/jenkins.war -P /usr/local/tomcat2/apache-tomcat-8.5.32/webapps/
我在這裡將Jenkins的war包直接下載到我部署的第二臺Tomcat的webapps下
訪問我們的Jenkins專案http://43.226.35.137:8081/jenkins/
看到Jenkins提示我們輸入密碼,根據提示
cat /root/.jenkins/secrets/initialAdminPassword
複製祕鑰出來輸入並確認
點選選擇外掛安裝
勾選建議,再自己實際專案需要的外掛勾選
點選安裝
這個安裝的時間比較久,受伺服器網路和效能等因素影響
很多情況下,部分外掛會安裝失敗,開啟首頁點選系統管理的時候會報很多錯,提示缺少有些依賴,這個時候我們可以選擇手動進行安裝。
Jenkins的外掛下載地址:
根據頁面的提示下載需要的外掛
安裝外掛:開啟系統設定,外掛管理,選擇高階,在下邊的安裝外掛哪裡選擇自己下載的外掛進行安裝
安裝完後回到首頁發現已經不報錯了。
安裝maven外掛(在這之前確保自己伺服器已經安裝了maven)
在外掛管理裡面選擇Maven Integration直接安裝
伺服器配置安裝maven
wget http://mirrors.tuna.tsinghua.edu.cn/apache/maven/maven-3/3.5.4/binaries/apache-maven-3.5.4-bin.tar.gz -p /user/local/maven
如果搭建的centos通過wget下載資源很慢的話可以設定國內的映象地址,我設定的是163的映象地址
解壓檔案
tar xvf apache-maven-3.5.4-bin.tar.gz
建立軟連線
ln -s apache-maven-3.5.4 maven
配置環境變數
vi /etc/profile
在末尾新增
export M2_HOME=/usr/local/maven/maven
export PATH=$PATH:$M2_HOME/bin
退出並輸入mvn -version驗證是否安裝成功
jdk配置
git配置
git已經加入到usr/bin下所以直接寫git即可
maven配置
點選儲存,進入系統設定
在最下邊點選增加ssh server
填寫相關資訊後點擊test connection
經過測試連線正常,點選儲存。
- Jenkins全域性引數配置
- maven配置
基礎環境已經構建完成,現在我們就對已經上傳到git的專案使用Jenkins進行構建併發布
使用Jenkins進行專案構建
- 新建任務
選擇maven專案
確定之後會發現有很多配置的地方,本次演示只配置部分需要的配置
- 保留歷史構建個數
點選add選擇Jenkins
輸入git的賬號和密碼
注意:很多同學在這裡輸入的ssh的地址,然後返回後發現無法找到倉庫,換成HTTPS的地址時正確
使用HTTPS地址後正確
在這裡我們基於master進行構建,搭建如果想在構建的時候可以選擇分支進行構建,可以設定引數化構建過程
maven構建配置
Clean package –DskipTest=true
配置構建後的操作
注意:deployer賬號需要在Tomcat下的conf檔案中的Tomcat-user.xml中配置,如下:
<user username="deployer" password="deployer" roles="manager-gui,manager-script,admin" />
如果是遠端部署的話還需要註釋掉META_INF/context.xml中的有一段程式碼,如下
後續會講解如何在docker中叢集部署,如果在閱讀中遇到問題請聯絡本人郵箱:[email protected]