中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當(dāng)前位置: 首頁 > news >正文

安徽建設(shè)廳網(wǎng)站杭州關(guān)鍵詞優(yōu)化外包

安徽建設(shè)廳網(wǎng)站,杭州關(guān)鍵詞優(yōu)化外包,建設(shè)工程合同與承攬合同的區(qū)別,個人怎么做ipv6的網(wǎng)站Jenkins簡介 Jenkins是一個開源項目,提供了一種易于使用的持續(xù)集成系統(tǒng),使開發(fā)者從繁雜的集成中解脫出來,專注于更重要的業(yè)務(wù)邏輯實現(xiàn)上。同時Jenkins能實時監(jiān)控集成中存在的錯誤,提供詳細(xì)的日志文件和提醒功能,還能用…

Jenkins簡介

Jenkins是一個開源項目,提供了一種易于使用的持續(xù)集成系統(tǒng),使開發(fā)者從繁雜的集成中解脫出來,專注于更重要的業(yè)務(wù)邏輯實現(xiàn)上。同時Jenkins能實時監(jiān)控集成中存在的錯誤,提供詳細(xì)的日志文件和提醒功能,還能用圖表的形式形象的展示項目構(gòu)建的趨勢和穩(wěn)定性。


如何配置

配置路線大體可以參考《Jenkins持續(xù)集成入門到精通》.pdf

鏈接:https://pan.baidu.com/s/1lGq0D1NhojqTaqLBnF8LPw 提取碼:6666

虛擬機(jī)安裝Jenkins

  因為Jenkins是java語言寫的,所以首先在208機(jī)器上配置jdk,版本為11,然后下載配置Jenkins,maven,Git,完全按照《Jenkins持續(xù)集成入門到精通》上的可能會有版本過老導(dǎo)致Jenkins上面的可下載插件不兼容的問題,這個時候可以下載新的Jenkins配置一下就可以解決。

詳細(xì)配置可參考:《Jenkins持續(xù)集成入門到精通》中Jenkins安裝和持續(xù)集成環(huán)境配置

Jenkins憑證管理

《Jenkins持續(xù)集成入門到精通》上面是集成gitlab,集成云效跟教程里的效果一樣,具體操作:

一、點(diǎn)擊紅框處

在這里插入圖片描述

二、

在這里插入圖片描述

三、

在這里插入圖片描述

四、

在這里插入圖片描述

五、在下面具體配置:

在這里插入圖片描述

類型我們一般選擇HTTPS賬戶密碼類型的或者ssh類型的(在項目中我是用的HTTPS類型的)

在這里插入圖片描述

范圍默認(rèn)就行

用戶名和密碼需要填寫(取自云效)

1、點(diǎn)擊個人設(shè)置
在這里插入圖片描述

2、設(shè)置賬戶密碼

在這里插入圖片描述

3、回到第五步,將賬戶密碼設(shè)置上去點(diǎn)擊創(chuàng)建即可。

ID、描述可以不寫

六、至此,你的就會保存,同時生成唯一標(biāo)識。

測試憑證是否通過:可繼續(xù)參考 《Jenkins持續(xù)集成入門到精通》-> 持續(xù)集成環(huán)境(4)

Maven配置

參考**《Jenkins持續(xù)集成入門到精通》-> 持續(xù)集成環(huán)境(5)-Maven安裝和配置**

pipeline流水線

在此次平臺建設(shè)過程中,我們需要對項目進(jìn)行CICD,可以使用流水線來對項目進(jìn)行自動拉取,構(gòu)建,部署。

pipeline使用方式可直接參考:《Jenkins持續(xù)集成入門到精通》->Jenkins項目構(gòu)建類型(4)-Pipeline流水線項目構(gòu)建


具體使用

下面我利用Jenkins結(jié)合ns-service-support-user微服務(wù)進(jìn)行持續(xù)集成部署操作。

第一步、部署前,需要在項目中添加相關(guān)依賴以及文件。

1、springboot項目打包

<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<version>2.7.6</version>
</plugin>

2、添加dockerfile-maven-plugin依賴,添加此依賴后,可以通過dockerfile編譯生成鏡像

<plugin><groupId>com.spotify</groupId><artifactId>dockerfile-maven-plugin</artifactId><version>1.3.6</version><configuration><repository>${project.artifactId}</repository><buildArgs><JAR_FILE>target/${project.build.finalName}.jar</JAR_FILE><PRO_NAME>${project.build.finalName}</PRO_NAME></buildArgs></configuration>
</plugin>

3、當(dāng)前項目根目錄添加dockerfile文件(把當(dāng)前項目jar包生成docker鏡像)

FROM openjdk:11
ARG JAR_FILE
ADD ${JAR_FILE} app.jar
COPY ./lib/skywalking-agent.jar ./lib/skywalking-agent.jar
EXPOSE 8098
ENTRYPOINT ["java","-javaagent:./lib/skywalking-agent.jar","-Dskywalking.agent.service_name=","-Dskywalking.collector.backend_service=192.168.192.168.xxx.xxx:11800","-jar","/app.jar"]

4、當(dāng)前項目根目錄添加Jenkinsfile文件對應(yīng)Jenkins流水線

node {stage('拉取代碼') {checkout([$class: 'GitSCM', branches: [[name: "*/${branch}"]], extensions: [], userRemoteConfigs: [[credentialsId: "${git_auth}", url: "${git_url}"]]])echo "拉取完成"
}
stage('編譯構(gòu)建') {
def code = sh (script: "docker ps | grep ${Microservices}",returnStatus: true
)
// code 為0 代表 grep 找到 了 ${Microservices} 相關(guān) 的 container
if (code==0){
//首先停止并刪除一個容器xsh ("docker ps -f name=${Microservices} -q | xargs --no-run-if-empty docker container kill")sh ("docker ps -f name=192.168.xxx.xxx:5000/${Microservices} -q | xargs --no-run-if-empty docker container kill")sh ("sleep 10s")sh ("docker container ls -a -f name=${Microservices} -q | xargs -r docker container rm -f")sh ("docker container ls -a -f name=192.168.xxx.xxx:5000/${Microservices} -q | xargs -r docker container rm -f")sh ("sleep 10s")
//刪除鏡像
//    sh ("docker rmi ${Microservices}")sh ("docker rmi -f 192.168.xxx.xxx:5000/${Microservices}")
}
//調(diào)用當(dāng)前微服務(wù)dockerfile
sh label: '', script: 'mvn clean package -e -X -U dockerfile:build'
sh "/mydata/hostmachine_jenkins/version/version_up.sh ${Microservices} ${NEW_VERSION}"
def PROJECT_VERSION = readFile "/mydata/hostmachine_jenkins/version/${Microservices}"
// def NEW_VERSION="${PROJECT_VERSION}"
//將當(dāng)前進(jìn)鏡像名修改為192.168.192.168.xxx.xxx:5000/${Microservices}:${NEW_VERSION}
sh ("docker tag ${Microservices}:latest 192.168.192.168.xxx.xxx:5000/${Microservices}:${PROJECT_VERSION}")
//push到私有倉庫中
sh ("docker push 192.168.192.168.xxx.xxx:5000/${Microservices}:${PROJECT_VERSION}")
echo "構(gòu)建完成"
}
stage('部署上線'){
//sh "docker run -d --net=swarm-test --name ${Microservices} -p ${port}:${port} ${Microservices}"
//sh ("docker stack deploy --compose-file=/mydata/hostmachine_jenkins/jenkins_deploy.yml api")
def PROJECT_VERSION = readFile "/mydata/hostmachine_jenkins/version/${Microservices}"
//按行讀取
def lines = PROJECT_VERSION.split("\n")[0]
echo "$lines"
sh "docker service update --image 192.168.192.168.xxx.xxx:5000/${Microservices}:${lines} qa_${Microservices}"
echo "部署完成"
sh ("sleep 10s")
sh ("java -jar /mydata/hostmachine_jenkins/dingding.jar jenkins ${deployer}${publishTime}${Microservices}模塊更新至${lines},部署已完成")
}
}

新建任務(wù),選擇流水線項目

在這里插入圖片描述

創(chuàng)建完畢會跳到configuration配置界面,點(diǎn)擊流水線,

定義選擇pipeline script from SCM

Repository URL復(fù)制云效上項目的HTTPS

在這里插入圖片描述
在這里插入圖片描述

Credentials選擇之前創(chuàng)建的全局憑證

在這里插入圖片描述

指定分支寫上你需要用的

繼續(xù)往下滑,會看到腳本路徑這個參數(shù),這個就是對應(yīng)你項目上的Jenkinsfile文件

在這里插入圖片描述

繼續(xù)

點(diǎn)擊General,選擇參數(shù)化構(gòu)建過程并點(diǎn)擊添加參數(shù)

在這里插入圖片描述

添加憑據(jù)參數(shù)

在這里插入圖片描述

添加選項參數(shù)(這個只針對當(dāng)前項目其實可以在項目中寫死就夠了)

添加文本參數(shù)

在這里插入圖片描述

添加選項參數(shù)(同樣只針對當(dāng)前項目可以寫死)

在這里插入圖片描述

添加port,對應(yīng)項目中的port

添加部署人員,方便知道當(dāng)前是誰部署了項目

在這里插入圖片描述

添加時間參數(shù),對應(yīng)釘釘消息提示

在這里插入圖片描述

添加版本號,手動輸入更迭版本號

在這里插入圖片描述

以上的參數(shù)就是對應(yīng)的Jenkinsfile文件中的${***},當(dāng)點(diǎn)擊構(gòu)建的時候?qū)?yīng)的參數(shù)就會映射到Jenkinsfile文件中。

構(gòu)建觸發(fā)器,作用是自動出發(fā)構(gòu)建項目

在這里插入圖片描述

使用方式請直接參考:《Jenkins持續(xù)集成入門到精通》->Jenkins項目構(gòu)建細(xì)節(jié)(1)-常用的構(gòu)建觸發(fā)器

設(shè)置好后,可以先點(diǎn)擊應(yīng)用然后保存

進(jìn)入自己創(chuàng)建的項目,界面如下:

在這里插入圖片描述

點(diǎn)擊build with parameter,選擇或者填寫對應(yīng)的參數(shù)

在這里插入圖片描述

PROJECT_VERSION項目版本號參數(shù)如果不知道上一個版本,我們可以到portainer中查看對應(yīng)的服務(wù)后綴,此后綴就是對應(yīng)的當(dāng)前正在運(yùn)行的項目版本號。

在這里插入圖片描述

此時PROJECT_VERSION可以設(shè)為1.0.5

在這里插入圖片描述

所有參數(shù)設(shè)置好后,點(diǎn)擊開始構(gòu)建按鈕,等待他構(gòu)建完成

在這里插入圖片描述

正常情況下會全流程走完,如下:

在這里插入圖片描述

可以懸停在對應(yīng)位置并點(diǎn)擊logs查看當(dāng)前流程的日志

在這里插入圖片描述

或者可以點(diǎn)擊console output查看全流程日志

在這里插入圖片描述

驗證:

部署成功會有消息提醒

在這里插入圖片描述

這個時候看portainer中的服務(wù)列表,可以看到服務(wù)正在運(yùn)行,而且版本已經(jīng)從1.0.4升級到1.0.5了

在這里插入圖片描述

訪問當(dāng)前服務(wù)的驗證接口,查看是否能正常訪問

在這里插入圖片描述

異常情況會在某個階段爆紅,這時候就需要查看日志定位具體報錯位置具體解決了

在這里插入圖片描述

筆記:

添加定時任務(wù)腳本:/mydata/hostmachine_jenkins/images_clean.sh(208位置),定時每天10/12/14三個時間段清除虛懸鏡像以及當(dāng)前項目之前版本未使用的鏡像

添加版本自增腳本:/mydata/hostmachine_jenkins/version_up1.sh(208位置),當(dāng)點(diǎn)擊部署的時候,自動增加當(dāng)前項目版本號,并且對部署的服務(wù)進(jìn)行版本號賦值。
在這里插入圖片描述

http://www.risenshineclean.com/news/61637.html

相關(guān)文章:

  • 浙江網(wǎng)站建設(shè)網(wǎng)站優(yōu)化泉州seo外包
  • 怎么找回網(wǎng)站后臺密碼百度問答優(yōu)化
  • 江西南昌網(wǎng)站建設(shè)服務(wù)文大俠seo博客
  • 網(wǎng)站 功能建設(shè)上 不足搜索引擎優(yōu)化的作用是什么
  • 寧波建設(shè)網(wǎng)站哪家好北京自動網(wǎng)絡(luò)營銷推廣
  • 英國網(wǎng)站后綴百度刷搜索詞
  • 自己電腦做服務(wù)器搭建網(wǎng)站有域名百度小說排行榜風(fēng)云榜單
  • 軟件技術(shù)的發(fā)展前景搜索引擎優(yōu)化是什么?
  • 1 建設(shè)網(wǎng)站目的是什么意思上海搜索排名優(yōu)化公司
  • 手機(jī)營銷網(wǎng)站模板怎樣建立一個網(wǎng)絡(luò)銷售平臺
  • 網(wǎng)站上線步驟 icp備案寧波pc營銷型網(wǎng)站制作
  • 木材加工公司網(wǎng)站建設(shè)廣告投放渠道
  • 高端網(wǎng)站建設(shè)公司哪家專業(yè)靠譜百度怎么打廣告
  • 做視頻網(wǎng)站空間要多大seo中國是什么
  • 怎么做娛樂網(wǎng)站保定百度首頁優(yōu)化
  • cloudflare wordpressseo網(wǎng)站免費(fèi)優(yōu)化軟件
  • wordpress網(wǎng)站關(guān)閉網(wǎng)上宣傳廣告怎么做
  • 極速在線網(wǎng)站百度口碑網(wǎng)
  • 彩票類網(wǎng)站開發(fā)谷歌海外推廣怎么做
  • 做網(wǎng)站西寧肇慶網(wǎng)站推廣排名
  • 做資源網(wǎng)站需要什么軟件網(wǎng)站排名顧問
  • html5手機(jī)網(wǎng)站湖南長沙關(guān)鍵詞推廣電話
  • 如何自制作網(wǎng)站做網(wǎng)絡(luò)優(yōu)化的公司排名
  • 磁力天堂torrentkitty太原seo關(guān)鍵詞排名優(yōu)化
  • 網(wǎng)站建設(shè)與維護(hù)王欣品牌廣告和效果廣告的區(qū)別
  • 電腦怎樣做病毒網(wǎng)站軟文怎么寫吸引人
  • 深圳創(chuàng)建網(wǎng)站信息流優(yōu)化師是什么
  • 石家莊信息網(wǎng)官方網(wǎng)站免費(fèi)訪問國外網(wǎng)站的app
  • 歐米茄女士手表網(wǎng)站國內(nèi)搜索引擎有哪些
  • 網(wǎng)站開發(fā) 彈窗電腦培訓(xùn)班速成班