華為軟件開發(fā)云對比Jenkins-JavaWeb項(xiàng)目持續(xù)部署方式

一、前言:Jenkins介紹

Jenkins是一個(gè)開源軟件項(xiàng)目,是基于Java開發(fā)的一種持續(xù)集成工具,用于監(jiān)控持續(xù)重復(fù)的工作,旨在提供一個(gè)開放易用的軟件平臺,使軟件的持續(xù)集成和持續(xù)部署變成可能。

本文演示樣例是一個(gè)JavaWeb項(xiàng)目,環(huán)境如下:

服務(wù)器:CentOS 7.3.1611主機(jī)一臺

代碼管理:git

編譯打包:maven

發(fā)布部署:tomcat7

本試驗(yàn)以下下載、解壓、執(zhí)行等操作均在主機(jī)/home/centos目錄下進(jìn)行

傳統(tǒng)工作模式需要通過手動操作大概完成如下幾個(gè)步驟:

1、拉取代碼

2、編譯打包

3、停止tomcat服務(wù)

4、將程序包上傳至tomcat容器內(nèi)

5、啟動tomcat服務(wù)

使用Jenkins可以將上述步驟一鍵完成,再配合相應(yīng)的觸發(fā)器機(jī)制(掃描代碼變動或強(qiáng)制定時(shí)任務(wù)),可以實(shí)現(xiàn)完全的無人干預(yù)、自動完成。它的內(nèi)部工作步驟如下:

1、Jenkins的觸發(fā)器掃描到代碼倉庫發(fā)生變化或者到了設(shè)定好的任務(wù)開始時(shí)間

2、Jenkins使用git到代碼倉庫拉取代碼

3、Jenkins使用maven對拉取的代碼進(jìn)行編譯、打包

4、Jenkins把打包好的war工程傳輸?shù)街付╰omcat的webapps目錄下

5、Jenkins重啟tomcat服務(wù)

二、準(zhǔn)備工作

Git版本控制服務(wù)器:

本實(shí)驗(yàn)中所用的Git代碼服務(wù)器已提前備好,直接使用

CentOS主機(jī)上安裝(已存在可忽略):

1、JDK安裝

本試驗(yàn)中Tomcat和Jenkins都需要依賴JDK,其中最新版的Jenkins需要JDK1.8版本,采用yum安裝

yum install java-1.8.0-openjdk –y

安裝完畢后執(zhí)行java

-version確認(rèn)一下,看到版本號表示成功

2、Tomcat安裝

本試驗(yàn)中Tomcat用來部署JavaWeb項(xiàng)目,Jenkins插件目前只支持到Tomcat7版本

下載安裝包:

wget http://mirrors.tuna.tsinghua.edu.cn/apache/tomcat/tomcat-7/v7.0.79/bin/apache-tomcat-7.0.79.tar.gz

地址如果失效,可去官網(wǎng)http://tomcat.apache.org/重新找一個(gè)鏈接地址

修改端口:

Tomcat默認(rèn)端口是8080,本試驗(yàn)中主機(jī)該端口已被占用,修改為8082

解壓安裝包后到Tomcat目錄里面conf目錄下編輯server.xml文件,將下圖位置的8080修改為新的端口號:

啟停服務(wù):

到tomcat目錄里面bin目錄下,執(zhí)行./startup啟動,訪問一下,地址:

http://主機(jī)IP:8082。不能訪問基本都是防火墻問題,能出現(xiàn)小貓界面就表示服務(wù)啟動成功,要想停止服務(wù)可以執(zhí)行./shutdown.sh ,也可以找到進(jìn)程pid,執(zhí)行kill -9 pid號。

解決Tomcat啟動慢:

如果發(fā)現(xiàn)Tomcat啟動特別慢,可以打開jdk安裝路徑下/jre/lib/security/java.security這個(gè)文件找到securerandom.source參數(shù)修改為

securerandom.source=file:/dev/./urandom

本試驗(yàn)中該文件路徑為/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.141-1.b16.el7_3.x86_64/jre/lib/security/java.security

3、Git安裝

yum

-y installgit

安裝完后執(zhí)行g(shù)it --version確認(rèn),看到版本號表示成功

4、Maven安裝

yum-y install maven

安裝完后執(zhí)行mvn -v確認(rèn),看到版本號表示成功

三、安裝Jenkins

下載程序包:

wget http://mirrors.jenkins.io/war/latest/jenkins.war

啟動程序包:

下載的Jenkins程序war包可以用Tomcat發(fā)布,也可以直接執(zhí)行啟動,本試驗(yàn)中Tomcat服務(wù)用于發(fā)布JavaWeb項(xiàng)目,為避免混淆,采用直接執(zhí)行啟動。

啟動命令

java -jarjenkins.war --httpPort=8081

如果不寫端口號參數(shù),默認(rèn)啟動端口是8080

初次啟動控制臺里會生成一個(gè)密碼,對其進(jìn)行復(fù)制

打開訪問地址:http://主機(jī)IP:8081,出現(xiàn)如下頁面

將剛才的密碼進(jìn)行粘貼,也可根據(jù)提示到主機(jī)上

cat /root/.jenkins/secrets/initialAdminPassword找到密碼進(jìn)行復(fù)制粘貼。來到如下頁面

這步是讓選擇推薦安裝還是自定義安裝,之后可以隨時(shí)更改,點(diǎn)第一個(gè),知道用什么插件點(diǎn)第二個(gè)也可以這樣裝的包少一點(diǎn)。安裝的插件都在/root/.jenkins/plugins/下面

直接選擇continue as admin

開始使用,點(diǎn)擊就會進(jìn)來

重置admin密碼:

以后訪問時(shí)會需要賬號密碼,在“系統(tǒng)管理”-“管理用戶”中對admin賬戶進(jìn)行密碼重置修改。

至此完成Jenkins安裝以及初次登錄。

此時(shí)Jenkins運(yùn)行在CentOS當(dāng)前頁面進(jìn)程里,如果關(guān)掉當(dāng)前會話會導(dǎo)致Jenkins服務(wù)停止,可先將服務(wù)停掉,運(yùn)行如下命令進(jìn)行后臺啟動:

nohup java -jarjenkins.war --httpPort=8081 &

如要停止服務(wù),可找到進(jìn)程pid號,執(zhí)行kill-9pid號

四、配置Jenkins

1、插件安裝:

(1)發(fā)布容器插件

選擇可選插件,過濾搜索Deploy toContainerPlugin插件(這個(gè)是支持將代碼部署到tomcat容器的)

勾選,點(diǎn)擊下邊的按鈕:直接安裝,這個(gè)可能時(shí)間較久,等待即可。

(2)Maven工程插件

步驟同上,插件名為MavenIntegration plugin

2、系統(tǒng)配置

(1)JDK,別名是任意的,路徑填寫剛才yum安裝的jdk位置

/usr/lib/jvm/java-1.8.0-openjdk

(2)Git,注意這里的git位置,是可執(zhí)行文件的地址(類似于Java中bin下的java可執(zhí)行文件位置),可通過git --exec-path命令查看路徑,本試驗(yàn)yum安裝的git可執(zhí)行文件位置為/usr/libexec/git-core/git

(3)Maven,選擇剛才yum安裝的maven存放位置

/usr/share/maven

至此Jenkins的基本配置完成。

五、創(chuàng)建任務(wù)

1、新建任務(wù)

2、配置任務(wù)

(1)源碼管理

源碼管理選擇Git,這個(gè)時(shí)候添加url之后,下邊會報(bào)錯(cuò),顯示讓去認(rèn)證,認(rèn)證即可(其他的安裝中又遇到這個(gè)問題),如果認(rèn)證失敗,請下載認(rèn)證Github Authentication plugin插件,這個(gè)在插件管理的可選插件中搜索安裝

(2)構(gòu)建觸發(fā)器

此處默認(rèn)為第一個(gè)選項(xiàng),可以根據(jù)實(shí)際業(yè)務(wù)選擇其他選項(xiàng),

例如:

Build periodically:周期性觸發(fā)執(zhí)行

Poll SCM:周期性掃描代碼倉庫,源代碼發(fā)生變化觸發(fā)執(zhí)行

配置內(nèi)容可以點(diǎn)選后面的問號圓圈查看填寫規(guī)則說明

此試驗(yàn)配置為:每五分鐘執(zhí)行一次,H/5 * * * *

(3)構(gòu)建后操作

此配置是將編譯后的文件**/target/intro.war(就是本試驗(yàn)的JavaWeb項(xiàng)目編譯構(gòu)建后生成的war包)部署到下邊的遠(yuǎn)程Tomcat容器中;這里Containers的用戶名和密碼是Tomcat管理員的賬戶密碼,Tomcat URL就是你需要進(jìn)行部署的遠(yuǎn)程Tomcat服務(wù)器的ip和端口。

這里需要進(jìn)行設(shè)置的是Tomcat的管理員信息,修改Tomcat容器下的conf文件夾下的tomcat-users.xml文件,在內(nèi)添加下邊的內(nèi)容后重啟Tomcat:

至此任務(wù)創(chuàng)建配置完成

六、查看任務(wù)

此時(shí)可以點(diǎn)擊“立即構(gòu)建”,也可以等待定時(shí)任務(wù)自動觸發(fā)。

打開JavaWeb項(xiàng)目驗(yàn)證地址

http://主機(jī)ip:8082/intro

至此,使用Jenkins搭建的持續(xù)集成部署環(huán)境全部完成,項(xiàng)目人員現(xiàn)在只需要專注于程序開發(fā),將完成編寫和測試的代碼提交至代碼倉庫,后續(xù)的編譯、打包、上傳、部署等工作全部由Jenkins根據(jù)事先的配置自動完成。

七、與華為軟件開發(fā)云對比分析

1、軟件易安裝

Jenkins★★★☆

程序包下載后通過命令安裝或者通過web容器發(fā)布,依賴于JDK,需要主機(jī)

華為軟件開發(fā)云★★★★

云上服務(wù),無需任何安裝和依賴,即開即用,需要網(wǎng)絡(luò)

2、工具集成度

Jenkins★★☆☆

依靠插件調(diào)用Git、Maven、Ant等工具,所用到的工具都需要本地安裝

華為軟件開發(fā)云★★★★

工具全部內(nèi)置到了云端服務(wù)上,無需安裝,直接使用

3、工具擴(kuò)展

Jenkins★★★★

插件豐富,自由選擇使用,對不同的軟件環(huán)境均可很好的支持

華為軟件開發(fā)云★★☆☆

所集成的工具種類和版本較為固定,不可自由選擇

4、軟件易使用

Jenkins★★★☆

操作界面友好,各個(gè)配置項(xiàng)均有圖標(biāo)進(jìn)行說明和配置樣例。

華為軟件開發(fā)云★★★☆

產(chǎn)品上有大量的幫助文檔、操作視頻,配合在線客服,從不同角度提供技術(shù)支持

5、自動化任務(wù)功能

Jenkins★★★★

功能強(qiáng)大,支持月周天時(shí)分各個(gè)級別的自由配置

華為軟件開發(fā)云★★☆☆

目前流水線功能支持每天固定一個(gè)時(shí)間或每周某些天的固定時(shí)間,無法進(jìn)行更自由的配置

6、消息通知機(jī)制

Jenkins★★★☆

發(fā)送郵件進(jìn)行通知,郵件內(nèi)容可配置

華為軟件開發(fā)云★★★☆

通過郵件和站內(nèi)消息兩種方式進(jìn)行通知

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容