Jenkins部署java項目

Jenkins部署java項目(java項目爲主)java

 

 

1、部署java項目-建立私有倉庫nginx

 

java的項目是須要編譯和打包的
編譯和打包用maven完成,因此需安裝mavengit

 

001機器上操做:github

本次實驗,採用git私有倉庫的形式,涉及到配置密鑰
準備工做:web

本身申請一個私有git倉庫(coding.net/github.com/g.lishiming.net)
生成密鑰對
把公鑰放到git服務端:        cat /root/.ssh/id_rsa.pub   把001機器上的公鑰複製過來

此處使用的github.com的倉庫,建立私有的(Private)項目,而後按照頁面進行操做apache

 

在本地修改README.md,而後上傳到倉庫,刷新頁面看是否修改爲功。vim

2、部署jiava項目-下載zrlog源碼api

下載zrlog的源碼 https://codeload.github.com/94fzb/zrlog/zip/master 
下載的文件爲zip壓縮文件,須要解壓unzip
下載到外面的目錄
mv  zrlog-master/* java/
cd java/
git add .
git commit -m "add zrlog"

而後用git push到新建的私有倉庫裏,回到頁面刷新

3、安裝tomcattomcat

002機器上操做:服務器

在另一臺機器上安裝jdk + tomcat,其中jdk能夠爲openjdk,版本1.8,tomcat用來運行zrlog

能夠參考    https://my.oschina.net/u/4093217/blog/3054237    安裝

 

jenkins用到了tomcat管理界面的管理入口,須要配置管理員的用戶
頁面直接輸入ip便可,默認80端口
此處的tomcat端口改爲了80,須要關閉nginx,tomcat端口修改:vim /usr/local/tomcat/conf/server.xml

vim /usr/local/tomcat/conf/tomcat-users.xml 
在最後面的</tomcat-users>前插入以下內容

<role rolename="admin"/>    
<role rolename="admin-gui"/>
<role rolename="admin-script"/>
<role rolename="manager"/>
<role rolename="manager-gui"/>
<role rolename="manager-script"/>
<role rolename="manager-jmx"/>
<role rolename="manager-status"/>
<user name="admin" password="tobe_jiang" roles="admin,manager,admin-gui,admin-script,manager-gui,manager-script,manager-jmx,manager-status" />  定義管理員用戶爲admin,密碼爲tobe_jiang

重啓tomcat,先關閉在啓動

/usr/local/tomcat/bin/startup.sh         //啓動服務

/usr/local/tomcat/bin/shutdown.sh     //關閉服務

頁面刷新後,點擊manager webapp,進入後顯示403

須要配置: vim /usr/local/tomcat/webapps/manager/META-INF/context.xml

增長    192.168.183.*,一 「|」分割,容許此ip段訪問

而後重啓tomcat,刷新頁面,點擊manager webapp,就會出現用戶認證的彈窗

 

輸入剛剛配置的用戶名和密碼進入,頁面中是能夠進行的操做

爲了讓jenkins可以訪問到這個頁面,經過後臺api接口發佈war包,maven能夠把java源碼編譯成war包(.war的包)
經過manager後臺接口傳過來自動發佈,解壓

 

 

4、部署java項目-安裝maven

001機器上:

安裝maven,要安裝到jenkins所安裝的機器上
經過maven編譯java源碼並打包

官網下載地址:  https://maven.apache.org/download.cgi

cd /usr/local/
wget http://mirror.bit.edu.cn/apache/maven/maven-3/3.6.1/binaries/apache-maven-3.6.1-bin.tar.gz
tar zxvf apache-maven-3.6.1-bin.tar.gz

/usr/local/apache-maven-3.6.1/bin/mvn --version

配置jenkins:

jenkins -> 系統管理(Manage Jenkins) -> 全局工具配置(Global Tool Configuration)->Maven 配置

/usr/local/apache-maven-3.6.1/conf/settings.xml   

下拉找到:Maven->新增Maven

不使用自動安裝,手動填寫路徑/usr/local/apache-maven-3.6.1

5、部署java項目-安裝插件

系統管理 -> 管理插件,檢查是否已經安裝 Maven Integration 和 Deploy to container ,若沒有安裝則須要安裝這兩個插件
Maven Integration 建立maven項目時用到的插件
Deploy to container 把war包發佈到遠程tomcat

安裝完插件後,須要重啓jenkins:
systemctl restart jenkins

建立新任務:
登陸jenkins,點擊「新建」,任務名稱自定義(個人叫作java)
選擇「構建一個maven項目」
點擊「肯定」

此處出現構建一個maven項目

 

6、部署java項目-構建job

進入新建立的任務配置,選擇源碼管理:
選擇 「git」, Repository URL填寫git的SSH地址,並配置對應的key,最好事前先在jenkins這臺機器上可以直接遠程git操做私有倉庫

出現此提示說明這個倉庫是私有倉庫,須要配置對應的用戶和key

點擊添加下的jenkins,類型安裝以下選擇,填寫用戶名和私鑰,點擊添加

回到源碼管理頁面選擇git,以前的報錯就沒有了,說明配置正確

構建觸發器、構建環境、Pre Steps保持默認

Build:
「Root POM」爲pom.xml

Goals and options 填寫 clean install -D maven.test.skip=true      編譯以前clean,跳過測試,此處也能夠留空

Post Steps、構建設置保持默認

先發送郵件測試:

點擊「增長構建後操做步驟」選擇「Editable Email Notification」
Project Recipient List,改成$DEFAULT_RECIPIENTS,xxxx@qq.com, 意思是增長額外一個收件人
點擊右下角的「Advanced settings」,定位到「Triggers」,而後點擊下方的「Add Trigger」,選擇always,表示老是發送,能夠增長髮郵件的條件。
最後點左下角的「保存」
以後就能夠點左側的「當即構建」,而後查看對應任務的控制檯輸出(Console Output)

此處在控制檯輸出中報錯,說明jdk配置有問題,默認使用的openjdk

部署java項目-手動安裝jdk:

系統設置->全局設置(Global Tool Configuration)->JDK
點擊新增JDK
取消自動安裝(Install automatically)的勾選,填寫服務器上jdk的安裝目錄,而後應用、保存

安裝目錄:     /usr/local/jdk1.8

重啓服務:    systemctl restart jenkins

回到Maven project java這個任務繼續點擊Build Now進行構建

完成後會生成war包,併發送郵件

進入Maven project java這個任務配置:

構建後操做:

點擊「增長構建後操做步驟」選擇「Deploy war/ear to a container」

WAR/EAR files  填寫    **/*.war        表示所有的war包

Contex path留空,Containers選擇Tomcat 8.x,根據安裝版本選擇

Tomcat URL填寫要把war包發佈到的那臺機器的url,如http://192.168.183.33,默認80端口,不須要寫端口,如http://172.7.15.114:8080這個是帶端口的

Credentials這裏須要點擊右側的Add,添加訪問tomcat時的用戶名和密碼

而後保存,當即構建,完成後,會在目標機器的tomcat/webapps目錄下看到部署的目錄,訪問時直接使用目標的ip加上生成的目錄名稱便可

相關文章
相關標籤/搜索