Linux(centos7)安裝Jenkins與使用maven和git搭建Jenkins的自動(dòng)部署

自動(dòng)化部署

“自動(dòng)化”的具體體現(xiàn):向版本庫提交新的代碼后,應(yīng)用服務(wù)器上自動(dòng)部署,用戶或測(cè)試人員使用的馬上就是最新的應(yīng)用程序

Jenkins獲取源碼完成打包和部署


image.png

Jenkins 自身采用 Java 開發(fā),所以要必須安裝 JDK; 集成的項(xiàng)目基于 Maven 構(gòu)架,所以 Maven 也必須安裝;
首先要安裝JDK1.8和maven
安裝JDK1.8和Maven教程

使用java通用的war
到官網(wǎng)下載Jenkins https://jenkins.io/download/

image.png
或者

把war上傳到linux
啟動(dòng)jenkins 不指定端口默認(rèn)為8080 \color{red}{也可指定jenkins的端口java -jar jenkins.war --httpPort=9090}
java -jar jenkins.war (前臺(tái)啟動(dòng)方式 ctrl+c就關(guān)閉)
nohup java -jar jenkins.war --httpPort=8080 > /data/log/jenkins.log & (推薦后臺(tái)啟動(dòng)方式)

關(guān)閉防火墻
systemctl stop firewalld

http:localhost:8080 訪問Jenkins


image.png

cat /root/.jenkins/secrets/initialAdminPassword查看管理員密碼
輸入密碼進(jìn)入到


image.png

點(diǎn)擊安裝推薦的插件
image.png

等待安裝(需要linux能夠上網(wǎng)) 安裝完成


image.png

右下角使用admin繼續(xù)登陸 下一步完成之后 如果需要登陸admin 密碼是上面查看的管理員密碼
image.png

Jenkins安裝成功

使用maven和git搭建Jenkins的自動(dòng)部署
需要安裝git git安裝教程

在安裝Jenkins中安裝所需要的插件
點(diǎn)擊系統(tǒng)管理->插件管理 ,安裝以下插件
1. Maven Integration jenkins 利用maven編譯,打包,所需插件

image.png

2. Deploy to Container
image.png

安裝完插件后,重啟Jenkins

系統(tǒng)管理->全局工具配置 ,配置路徑
maven配置

image.png

image.png

JDK配置

image.png

git配置
which git查詢git的安裝路徑

image.png

全局工具配置配置完成

新建任務(wù)


image.png

這里使用自己搭建的gitlab做為倉(cāng)庫,因?yàn)間ithub的自動(dòng)構(gòu)建需要Jenkins有外網(wǎng)才行
配置git

image.png

這樣就能夠從gitlab上獲取到源碼,點(diǎn)擊
image.png
或者立即構(gòu)建,就會(huì)執(zhí)行mvn install打包(例子會(huì)生成war包)
image.png

image.png

把打包好的項(xiàng)目放到需要部署的的服務(wù)器上
配置構(gòu)建后操作 構(gòu)建的項(xiàng)目在target目錄下

image.png

image.png

配置需要把項(xiàng)目部署到哪個(gè)服務(wù)器的tomcat上


image.png

這里Jenkins的服務(wù)器是192.168.79.131。

需要部署的項(xiàng)目的服務(wù)器放在192.168.79.132中,需要設(shè)置tomcat的賬號(hào)密碼,jenkins才能把部署傳上去

到192.168.79.132的tomcat配置文件中設(shè)置賬號(hào)密碼
vim /data/apache-tomcat-8.5.35/conf/tomcat-users.xml
加上
<role rolename="manager-gui"/>
<role rolename="manager-script"/>
<role rolename="manager-jmx"/>
<role rolename="manager-status"/>
<user username=""tomcat_user" password="123456" roles="manager-gui,manager-script,manager-jmx,manager-status"/>


image.png

tomcat8.5進(jìn)行管理后臺(tái)還需要配置webapps/manager/META-INF/context.xml
修改前


image.png

指誰能訪問,注釋掉context或者把127修改成\d+ 這是正則表達(dá)式
image.png

點(diǎn)擊,登陸上面配置的賬號(hào)密碼 tomcat_user 123456 能登錄進(jìn)去證明配置成功
image.png

在配置文件server.xml加上修改 URL 地址的編碼解碼字符集


image.png

完成需要部署的服務(wù)器的tomcat配置

接下來繼續(xù)配置Jenkins

image.png

image.png

添加
image.png

保存
點(diǎn)擊立即構(gòu)建
image.png

正在構(gòu)建(就是重新打包)
image.png

構(gòu)建完成后查看部署項(xiàng)目的服務(wù)器上tomcat的webapp,就能看到abc.war。
\color{red}{是不是很神奇呢}

image.png

\color{red}{部署項(xiàng)目的服務(wù)器與Jenkins可以不是同一臺(tái)服務(wù)器,這里的例子就是不相同的兩臺(tái)linux服務(wù)器}

訪問http://192.168.79.132:8080/abc/就能訪問到部署的項(xiàng)目。

image.png

\color{red}{現(xiàn)在測(cè)試修改代碼然后提交到gitlab上。再點(diǎn)立即構(gòu)建。看頁面會(huì)不會(huì)修改}
更新代碼提交到gitlab

image.png

點(diǎn)擊立即構(gòu)建
image.png

說明構(gòu)建成功

\color{red}{但是每次都要手動(dòng)去點(diǎn)擊立即構(gòu)建,能不能在git pull操作時(shí)自動(dòng)觸發(fā)構(gòu)建}

安裝Gitlab Hook Plugin插件:

系統(tǒng)管理-管理插件-可選插件-Gitlab Hook和Build Authorization Token Root

image.png

image.png

在linux上執(zhí)行命令生成token(身份驗(yàn)證令牌)
openssl rand -hex 12


身份驗(yàn)證令牌

image.png

保存


image.png

image.png

配置gitlab鉤子配置
進(jìn)到gitlab的Settings-Integrations

gitlab鉤子配置

image.png

add webhook之后會(huì)報(bào)這么一個(gè)錯(cuò)
image.png

gitlab 10.6 版本以后為了安全,默認(rèn)不允許向本地網(wǎng)絡(luò)發(fā)送webhook請(qǐng)求,如果想向本地網(wǎng)絡(luò)發(fā)送webhook請(qǐng)求,則需要使用管理員帳號(hào)登錄,默認(rèn)管理員帳號(hào)是admin@example.com,密碼就是你gitlab搭建好之后第一次輸入的密碼
image.png

image.png

image.png

再配置鉤子
image.png

測(cè)試一下配置是否成功
image.png

Hook executed successfully: HTTP 201表示成功
image.png

這樣就完成自動(dòng)構(gòu)建的配置了,直接git pull 提交代碼,就會(huì)觸發(fā)立即構(gòu)建
image.png

image.png

大功告成
這里是war的jenkins構(gòu)建。不知道springboot的jar和dubbo配置是否一致,后續(xù)學(xué)習(xí)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

推薦閱讀更多精彩內(nèi)容