日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

尚硅谷jenkins

發(fā)布時(shí)間:2023/12/20 编程问答 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 尚硅谷jenkins 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

p1 教程簡(jiǎn)介

p2 jenkins在開發(fā)中的位置和作用

p3 jenkins+maven+git持續(xù)集成基礎(chǔ)使用

三臺(tái)服務(wù)器


p5 gitlab安裝準(zhǔn)備

p6 gitlab在ssh下安裝


訪問ip即可登陸,記得關(guān)防火墻

p07 docker下安裝gitlab



p9 jenkins安裝


下載war包 然后 java -jar jenkins.war 啟動(dòng),即可訪問jenkins


安裝maven


這里安裝的maven的jdk有坑,其實(shí)是jre

p10 jenkins配置maven+git自動(dòng)構(gòu)建jar包

安裝maven插件

新建item


項(xiàng)目配置

在jenkins這臺(tái)服務(wù)器上下載git,上面這個(gè)就不會(huì)報(bào)錯(cuò)了

yum install -y git

拉取分支設(shè)置

需要告訴jenkins maven安裝在哪里

全局工具設(shè)置

設(shè)置完后繼續(xù)返回設(shè)置我們的item
pom目錄位置需要和我們的gitlab一樣

構(gòu)建項(xiàng)目


默認(rèn)yum安裝java的時(shí)候會(huì)顯示安裝的是openjdk1.8 實(shí)則實(shí)際上只安裝了jre yum install -y java-devel

安裝完成后, 測(cè)試運(yùn)行maven打包

測(cè)試運(yùn)行編譯打包后的jar包,成功運(yùn)行了!

p11 自動(dòng)化發(fā)布到測(cè)試服務(wù)器并自動(dòng)運(yùn)行




先配置測(cè)試服務(wù)器


配置完成之后,項(xiàng)目這里就可以選擇測(cè)試服務(wù)器了


jenkins服務(wù)器上面構(gòu)建好的jar包

再次構(gòu)建,運(yùn)行并傳輸成功了

目標(biāo)服務(wù)器就收到j(luò)ar包了

上面既然已經(jīng)把jar傳到測(cè)試服務(wù)器了,可以再執(zhí)行命令,把jar包啟動(dòng)起來!

p12 ssh publishers 超時(shí)機(jī)制

上面的操作有2個(gè)問題:
1:之前的jar包服務(wù)沒有先停止,再次構(gòu)建時(shí)候會(huì)有問題
2:沒有指定日志輸出,可能也會(huì)導(dǎo)致卡住

針對(duì)問題2措施:

nohup java -jar /root/xxoo/testJenkins*.jar >mylog.log 2>&1 &



針對(duì)問題1 可以構(gòu)建前執(zhí)行腳本

p14 構(gòu)建前置腳本

#! /bin/bash echo "start..." rm -rf xxoo echo '刪除xxoo成功' #獲取傳入的參數(shù) appname=$1 echo "arg:$appname" # awk 處理文本輸出第2列進(jìn)程 pid=`ps -ef |grep $appname| grep 'java -jar'|awk '{printf $2}'` echo "進(jìn)程為:$pid" #如果pid為空,提示一下,否則,執(zhí)行kill命令 if [ -z $pid ];thenecho "$appname not started"elsekill -9 $pidecho "$appname stoping..."# 再次查找是否成功關(guān)閉進(jìn)程 -w精確查找check=`ps -ef|grep -w $pid|grep java`if [ -z $check ];thenecho "$appname is stop"else echo "$appname stop failed"fi fi

p15 代碼提交測(cè)試

界面上執(zhí)行腳本加上項(xiàng)目參數(shù)

手動(dòng)構(gòu)建成功

p16 gitlab自動(dòng)構(gòu)建項(xiàng)目

下載免登錄插件,用token構(gòu)建

http://192.168.56.130:8080/buildByToken/build?job=first&token=123456


安裝插件后訪問地址,輸入jenkins項(xiàng)目名和token ,即可觸發(fā)構(gòu)建

在gitlab中配置鉤子
觸發(fā)事件設(shè)置:
勾選[合并請(qǐng)求事件觸發(fā)]時(shí),當(dāng)創(chuàng)建合并請(qǐng)求和正真合并都會(huì)觸發(fā)!更新或提交時(shí)就觸發(fā)時(shí) 太消耗資源,不建議勾選
這里的事件都不太好用,建議在jenkins中手動(dòng)構(gòu)建或者定時(shí)構(gòu)建

設(shè)置網(wǎng)絡(luò)允許調(diào)用

p17 幾種常用的構(gòu)建觸發(fā)器

p19 poll scm觸發(fā)構(gòu)建

和前面不同,相反 jenkins定時(shí)去訪問gitlab觸發(fā)構(gòu)建,需要設(shè)置cron表達(dá)式

p20 配置郵箱接收構(gòu)建通知

配置163郵箱為發(fā)件人


p 21容器化構(gòu)建的幾種方式

p22 docker jar文件打包到鏡像中

使用第二種

準(zhǔn)備一臺(tái)測(cè)試服務(wù)器 裝有docker環(huán)境 這里我們使用之前安裝docker版gitlab的這臺(tái)服務(wù)器 192.168.56.129

準(zhǔn)備jar包

準(zhǔn)備dockerfile,里面包含了拉取jdk,結(jié)合jar包,打包成新的鏡像,然后生成容器運(yùn)行

# 拉取jdk鏡像 FROM openjdk:11 EXPOSE 8080 # 宿主機(jī)工作目錄/root WORKDIR /root # 左邊是宿主機(jī)jar包目錄 右邊是鏡像要運(yùn)行在的容器目錄 ADD jarfile/testJenkins*.jar /root/app.jar ENTRYPOINT ["java","-jar","/root/app.jar"]


使用dockerfile構(gòu)建鏡像

docker build -t testjenkins .

配置國內(nèi)鏡像加速

修改/etc/docker/daemon.json文件,沒有的話創(chuàng)建一個(gè)

寫入

{"registry-mirrors": ["https://ustc-edu-cn.mirror.aliyuncs.com","http://hub-mirror.c.163.com","https://registry.aliyuncs.com"] }

重啟服務(wù)

systemctl daemon-reload systemctl restart docker

構(gòu)建之后,看到多出了2個(gè)鏡像一個(gè)是拉取的jdk,一個(gè)是我們要運(yùn)行的鏡像

運(yùn)行我們的鏡像

容器啟動(dòng)就可以訪問jar包的項(xiàng)目了

p23 使用外部jar包完成自動(dòng)化部署

使用第一種

使用了jdk鏡像運(yùn)行容器,掛載jar包目錄,也可以直接訪問

docker run -d -p 8080:8080 --name testJenkins-out -v /root/jarfile/testJenkins-1.0-SNAPSHOT.jar:/app.jar openjdk:11 java -jar app.jar


為了自動(dòng)部署,需要自動(dòng)刪除服務(wù)器舊的jar包,停止容器,重新生成jar包,把jar包推送至測(cè)試服務(wù)器,重新啟動(dòng)容器
修改測(cè)試服務(wù)器ip

p24 鏡像方式自動(dòng)化部署

上面的第二種,如何自動(dòng)化部署

代碼中有dockerfile


p 25jenkins集群并發(fā)構(gòu)建



添加從節(jié)點(diǎn)





總結(jié)

以上是生活随笔為你收集整理的尚硅谷jenkins的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。