Jenkins Centos7 GitHub Maven Tomcat9 JDK8自動構建部署
分散式專案管理,提高開發效率,使用Jenkins。
配置環境:
Jenkins(LTS Release2.7.4.war)
Centos7
GitHub
Maven
Tomcat9
JDK8
【兩種部署方式】
1. 使用內建jetty
java -jar jenkins.war –httpPort=8002
2. 部署到Tomcat,略。
筆者使用Tomcat部署,為了方便做Tomcat服務化,Linux開機啟動。
兩者功能上沒有差異,第一種方便學習,第二種推薦生產環境。
【安裝初始化】
啟動後,輸入網址:localhost:8002
需要初始化密碼,centos路徑跟當前使用者有關。
tomcat使用root啟動為:/root/.jenkins/secrets
開機啟動為:/home/[使用者名稱]/.jenkins/secrets
開啟initialAdminPassword 複製初始化密碼貼上到密碼欄點選continue。
選擇外掛
筆者偷懶選擇Select plugins to install全選外掛,這個頁面外掛比較直觀。部分外掛被牆,可以用VPN。
後期再系統設定,也可以新增外掛,外掛太多稍微吃力一些。
安裝完外掛,隨後初始化使用者。
當看到此頁面,已經安裝成功,開始您的Jenkins折騰之旅。
【配置專案】
登入後先不急著建立專案,先配置外掛 及 環境變數
需要外掛如下:
Maven Project Plugin(Maven 外掛)
GIT plugin (git外掛)
Subversion Plugin(Svn外掛)
Deploy to container Plugin(部署war)
Email Extension Plugin (郵件通知)
Publish Over SSH (遠端Shell)
沒有安裝小夥伴,先在【系統管理】-【管理外掛】,新增。
如果外掛下載失敗,自行到官網上下載。
安裝外掛後,配置各外掛的環境變數。
包括:JDK、Maven、Git
筆者為了與開發環境儘量保持一致,JDK、Maven沒有使用Jenkins推薦,使用自己下載,上傳到Centos7上。
JDK環境配置:
Git 沒有相容性等差異,偷懶使用了預設:
Maven環境配置:
保持配置。
【配置專案】
首頁-新建
【專案詳細配置】
【常見問題】
Tomcat9 Manager管理頁面相對Tomcat7 做了訪問域限制。預設localhost、127.0.0.1才可以訪問。
http://192.168.2.67:8080/manager/html
異常資訊 403 ,提示缺少使用者。異常訊息十分不直觀。(下圖401不用理會,異常資訊是一樣)
增加Tomcat使用者,修改配置檔案:/home/apache-tomcat-9.0.0.M6/conf/tomcat-users.xml
為了Jenkins釋出工程,給了全部許可權。
<role rolename="manager-gui"/>
<role rolename="manager-gui" />
<role rolename="manager-script" />
<role rolename="manager-status" />
<user username="tomcat" password="123456" roles="manager-gui,manager-gui,manager-script,manager-status"/>
Tomcat9 Manager,跨域,區域網訪問,修改配置檔案:/home/apache-tomcat-9.0.0.M6/webapps/manager/META-INF/context.xml
<Context antiResourceLocking="false" privileged="true" >
<Valve className="org.apache.catalina.valves.RemoteAddrValve"
allow="192.168.2.*" />
</Context>
以上就配置完,儲存。
【嘗試構建專案】
第一次構建,點選控制檯輸出結果,觀察,是否[Error],排錯。
以上就能實現:git pull -> maven install -> 部署Tomcat9