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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

尚硅谷jenkins

發布時間:2023/12/20 编程问答 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 尚硅谷jenkins 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

p1 教程簡介

p2 jenkins在開發中的位置和作用

p3 jenkins+maven+git持續集成基礎使用

三臺服務器


p5 gitlab安裝準備

p6 gitlab在ssh下安裝


訪問ip即可登陸,記得關防火墻

p07 docker下安裝gitlab



p9 jenkins安裝


下載war包 然后 java -jar jenkins.war 啟動,即可訪問jenkins


安裝maven


這里安裝的maven的jdk有坑,其實是jre

p10 jenkins配置maven+git自動構建jar包

安裝maven插件

新建item


項目配置

在jenkins這臺服務器上下載git,上面這個就不會報錯了

yum install -y git

拉取分支設置

需要告訴jenkins maven安裝在哪里

全局工具設置

設置完后繼續返回設置我們的item
pom目錄位置需要和我們的gitlab一樣

構建項目


默認yum安裝java的時候會顯示安裝的是openjdk1.8 實則實際上只安裝了jre yum install -y java-devel

安裝完成后, 測試運行maven打包

測試運行編譯打包后的jar包,成功運行了!

p11 自動化發布到測試服務器并自動運行




先配置測試服務器


配置完成之后,項目這里就可以選擇測試服務器了


jenkins服務器上面構建好的jar包

再次構建,運行并傳輸成功了

目標服務器就收到jar包了

上面既然已經把jar傳到測試服務器了,可以再執行命令,把jar包啟動起來!

p12 ssh publishers 超時機制

上面的操作有2個問題:
1:之前的jar包服務沒有先停止,再次構建時候會有問題
2:沒有指定日志輸出,可能也會導致卡住

針對問題2措施:

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



針對問題1 可以構建前執行腳本

p14 構建前置腳本

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

p15 代碼提交測試

界面上執行腳本加上項目參數

手動構建成功

p16 gitlab自動構建項目

下載免登錄插件,用token構建

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


安裝插件后訪問地址,輸入jenkins項目名和token ,即可觸發構建

在gitlab中配置鉤子
觸發事件設置:
勾選[合并請求事件觸發]時,當創建合并請求和正真合并都會觸發!更新或提交時就觸發時 太消耗資源,不建議勾選
這里的事件都不太好用,建議在jenkins中手動構建或者定時構建

設置網絡允許調用

p17 幾種常用的構建觸發器

p19 poll scm觸發構建

和前面不同,相反 jenkins定時去訪問gitlab觸發構建,需要設置cron表達式

p20 配置郵箱接收構建通知

配置163郵箱為發件人


p 21容器化構建的幾種方式

p22 docker jar文件打包到鏡像中

使用第二種

準備一臺測試服務器 裝有docker環境 這里我們使用之前安裝docker版gitlab的這臺服務器 192.168.56.129

準備jar包

準備dockerfile,里面包含了拉取jdk,結合jar包,打包成新的鏡像,然后生成容器運行

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


使用dockerfile構建鏡像

docker build -t testjenkins .

配置國內鏡像加速

修改/etc/docker/daemon.json文件,沒有的話創建一個

寫入

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

重啟服務

systemctl daemon-reload systemctl restart docker

構建之后,看到多出了2個鏡像一個是拉取的jdk,一個是我們要運行的鏡像

運行我們的鏡像

容器啟動就可以訪問jar包的項目了

p23 使用外部jar包完成自動化部署

使用第一種

使用了jdk鏡像運行容器,掛載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


為了自動部署,需要自動刪除服務器舊的jar包,停止容器,重新生成jar包,把jar包推送至測試服務器,重新啟動容器
修改測試服務器ip

p24 鏡像方式自動化部署

上面的第二種,如何自動化部署

代碼中有dockerfile


p 25jenkins集群并發構建



添加從節點





總結

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

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。