国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Jenkins使用(代碼拉取->編譯構(gòu)建->部署上線)

這篇具有很好參考價(jià)值的文章主要介紹了Jenkins使用(代碼拉取->編譯構(gòu)建->部署上線)。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

Jenkins簡(jiǎn)介

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


如何配置

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

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

虛擬機(jī)安裝Jenkins

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

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

Jenkins憑證管理

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

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

Jenkins使用(代碼拉取->編譯構(gòu)建->部署上線)

二、

Jenkins使用(代碼拉取->編譯構(gòu)建->部署上線)

三、

Jenkins使用(代碼拉取->編譯構(gòu)建->部署上線)

四、

Jenkins使用(代碼拉取->編譯構(gòu)建->部署上線)

五、在下面具體配置:

Jenkins使用(代碼拉取->編譯構(gòu)建->部署上線)

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

Jenkins使用(代碼拉取->編譯構(gòu)建->部署上線)

范圍默認(rèn)就行

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

1、點(diǎn)擊個(gè)人設(shè)置
Jenkins使用(代碼拉取->編譯構(gòu)建->部署上線)

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

Jenkins使用(代碼拉取->編譯構(gòu)建->部署上線)

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

ID、描述可以不寫

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

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

Maven配置

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

pipeline流水線

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

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


具體使用

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

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

1、springboot項(xiàng)目打包

<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)前項(xiàng)目根目錄添加dockerfile文件(把當(dāng)前項(xià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)前項(xiàng)目根目錄添加Jenkinsfile文件對(duì)應(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){
//首先停止并刪除一個(gè)容器x
    sh ("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到私有倉(cāng)庫(kù)中
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ù),選擇流水線項(xiàng)目

Jenkins使用(代碼拉取->編譯構(gòu)建->部署上線)

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

定義選擇pipeline script from SCM

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

Jenkins使用(代碼拉取->編譯構(gòu)建->部署上線)
Jenkins使用(代碼拉取->編譯構(gòu)建->部署上線)

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

Jenkins使用(代碼拉取->編譯構(gòu)建->部署上線)

指定分支寫上你需要用的

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

Jenkins使用(代碼拉取->編譯構(gòu)建->部署上線)

繼續(xù)

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

Jenkins使用(代碼拉取->編譯構(gòu)建->部署上線)

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

Jenkins使用(代碼拉取->編譯構(gòu)建->部署上線)

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

Jenkins使用(代碼拉取->編譯構(gòu)建->部署上線)

添加文本參數(shù)

Jenkins使用(代碼拉取->編譯構(gòu)建->部署上線)

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

Jenkins使用(代碼拉取->編譯構(gòu)建->部署上線)

添加port,對(duì)應(yīng)項(xiàng)目中的port

Jenkins使用(代碼拉取->編譯構(gòu)建->部署上線)

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

Jenkins使用(代碼拉取->編譯構(gòu)建->部署上線)

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

Jenkins使用(代碼拉取->編譯構(gòu)建->部署上線)

添加版本號(hào),手動(dòng)輸入更迭版本號(hào)

Jenkins使用(代碼拉取->編譯構(gòu)建->部署上線)

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

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

Jenkins使用(代碼拉取->編譯構(gòu)建->部署上線)

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

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

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

Jenkins使用(代碼拉取->編譯構(gòu)建->部署上線)

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

Jenkins使用(代碼拉取->編譯構(gòu)建->部署上線)

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

Jenkins使用(代碼拉取->編譯構(gòu)建->部署上線)

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

Jenkins使用(代碼拉取->編譯構(gòu)建->部署上線)

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

Jenkins使用(代碼拉取->編譯構(gòu)建->部署上線)

正常情況下會(huì)全流程走完,如下:

Jenkins使用(代碼拉取->編譯構(gòu)建->部署上線)

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

Jenkins使用(代碼拉取->編譯構(gòu)建->部署上線)

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

Jenkins使用(代碼拉取->編譯構(gòu)建->部署上線)

驗(yàn)證:

部署成功會(huì)有消息提醒

Jenkins使用(代碼拉取->編譯構(gòu)建->部署上線)

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

Jenkins使用(代碼拉取->編譯構(gòu)建->部署上線)

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

Jenkins使用(代碼拉取->編譯構(gòu)建->部署上線)

異常情況會(huì)在某個(gè)階段爆紅,這時(shí)候就需要查看日志定位具體報(bào)錯(cuò)位置具體解決了

Jenkins使用(代碼拉取->編譯構(gòu)建->部署上線)

筆記:

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

添加版本自增腳本:/mydata/hostmachine_jenkins/version_up1.sh(208位置),當(dāng)點(diǎn)擊部署的時(shí)候,自動(dòng)增加當(dāng)前項(xiàng)目版本號(hào),并且對(duì)部署的服務(wù)進(jìn)行版本號(hào)賦值。
Jenkins使用(代碼拉取->編譯構(gòu)建->部署上線)文章來源地址http://www.zghlxwxcb.cn/news/detail-436778.html

到了這里,關(guān)于Jenkins使用(代碼拉取->編譯構(gòu)建->部署上線)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • docker啟動(dòng)的jenkins拉取gitee項(xiàng)目構(gòu)建并部署

    docker啟動(dòng)的jenkins拉取gitee項(xiàng)目構(gòu)建并部署

    https://hub.docker.com/r可以search不同的jenkins版本 docker pull jenkins/jenkins 創(chuàng)建掛載目錄 /home/jenkins_home 加權(quán)限 chmod 777 /home/jenkins_home docker run -di --name=jenkins -p 9999:8080 -v /home/jenkins_home:/var/jenkins_home jenkins/jenkins:latest 參數(shù)解讀 7.打開瀏覽器訪問jenkins localhost:9999 7. 可直接訪問宿主機(jī)的目

    2024年02月11日
    瀏覽(25)
  • Jenkins自動(dòng)拉取SVN源代碼構(gòu)建打包vue前端項(xiàng)目

    Jenkins自動(dòng)拉取SVN源代碼構(gòu)建打包vue前端項(xiàng)目

    目錄 1.功能需求 2.安裝插件 2.1 安裝NodeJS插件 2.2? 安裝SVN插件 3.配置環(huán)境 3.1? NodeJS環(huán)境 4.新建任務(wù)配置部署信息 4.1? 源代碼管理 4.2? 構(gòu)建觸發(fā)器 4.3? 構(gòu)建環(huán)境 ?4.4? 構(gòu)建步驟 5.構(gòu)建項(xiàng)目 ?5.1?點(diǎn)擊查看控制臺(tái)日志 使用Jenkins從SVN上拉取Vue項(xiàng)目進(jìn)行自動(dòng)構(gòu)建打包。如果需要發(fā)

    2023年04月22日
    瀏覽(24)
  • jenkins 2.346.1 從git拉取后自動(dòng)構(gòu)建部署springboot maven項(xiàng)目

    jenkins 2.346.1 從git拉取后自動(dòng)構(gòu)建部署springboot maven項(xiàng)目

    1、jenkins官網(wǎng)下載 jenkins2.346.1版本(2.346之后不支持java8) Jenkins 的安裝和設(shè)置 下載的war包通過 java -jar jenkins.war可運(yùn)行 也可下載安裝版本直接安裝 http://localhost:8080,端口號(hào)8080根據(jù)安裝時(shí)的設(shè)定進(jìn)行對(duì)應(yīng)的變更,安裝后需要等待一段時(shí)間。 確認(rèn)發(fā)布應(yīng)用的服務(wù)器安裝了java g

    2024年02月02日
    瀏覽(21)
  • Jenkins自動(dòng)化部署-GitLab拉取代碼 配置ssh代碼拉去方式的密鑰(公私鑰)

    Jenkins自動(dòng)化部署-GitLab拉取代碼 配置ssh代碼拉去方式的密鑰(公私鑰)

    Jenkins想要通過ssh方式拉去gitlab代碼,則需要在在Jenkins服務(wù)器配置私鑰,gitlab服務(wù)器配置公鑰 使用root用戶生成公鑰和私鑰 在/root/.ssh/目錄保存了公鑰和使用 id_rsa:私鑰文件 id_rsa.pub:公鑰文件 把生成的公鑰放在Gitlab中 以root賬戶登錄-點(diǎn)擊頭像-Settings-SSH Keys 復(fù)制剛才id_rsa.pu

    2024年04月10日
    瀏覽(47)
  • Jenkins+Gitlab實(shí)現(xiàn)代碼自動(dòng)構(gòu)建部署

    Jenkins+Gitlab實(shí)現(xiàn)代碼自動(dòng)構(gòu)建部署

    一、環(huán)境準(zhǔn)備 主機(jī)名 ip 安裝軟件 jenkins 192.168.75.149 jenkins gitlab 192.168.75.147 gitlab web 192.168.75.155 部署應(yīng)用 二、jenkins服務(wù)器配置 1、生產(chǎn)公鑰 (2)獲取公鑰信息 公鑰信息在配置 Gitlab SSH Keys 時(shí)用到。 (3)獲取私鑰信息 私鑰信息在配置 Jenkins Publish over SSH 時(shí)用到。 (4)復(fù)制公

    2024年02月16日
    瀏覽(16)
  • Jenkins 中部署Nodejs插件并使用,并構(gòu)建前端項(xiàng)目(3)

    Jenkins 中部署Nodejs插件并使用,并構(gòu)建前端項(xiàng)目(3)

    遇到多個(gè)版本nodeJS需要構(gòu)建的時(shí)候 1、第一種就是一個(gè)配置安裝,然后進(jìn)行選中配置 2、第二種就是插件:nvm-wrapper,我們還是選用NodeJS插件: (1)可以加載任意npmrc文件; (2)與Jenkins結(jié)合緊密,封裝少,項(xiàng)目相對(duì)活躍; (3)功能豐富,可全局安裝模塊。 這里的路徑,要把

    2024年02月22日
    瀏覽(24)
  • Gitee+Jenkins+SonarQube代碼上線的實(shí)戰(zhàn)

    Gitee+Jenkins+SonarQube代碼上線的實(shí)戰(zhàn)

    image.png image.png 提示: 該公司的Java業(yè)務(wù)項(xiàng)目比較多的話,可以單獨(dú)安裝nexus。 如果不多可以使用阿里云的私服器。 1、安裝JDK運(yùn)行環(huán)境 和 Jenkins服務(wù) 2、Maven服務(wù) 3、部署私服 Nexus (可選) 下載地址:https://www.sonatype.com/download‐oss‐sonatype 配置倉(cāng)庫(kù)兩個(gè)選項(xiàng) 1、項(xiàng)目下的pom.xml配置

    2024年01月22日
    瀏覽(23)
  • gitlab部署及整合Jenkins持續(xù)構(gòu)建(四)sonarqube9.9安裝和使用(一步一坑)

    gitlab部署及整合Jenkins持續(xù)構(gòu)建(四)sonarqube9.9安裝和使用(一步一坑)

    官網(wǎng)給出的各種環(huán)境下安裝postgresql步驟:https://www.postgresql.org/download/ 以 CentOS7 + jdk17 為例: yum安裝完,默認(rèn)的pgsql-13的數(shù)據(jù)目錄在 /var/lib/pgsql/13/data/ 除非 /var 目錄可用空間很大,否則需要修改數(shù)據(jù)目錄 記錄配置文件路徑,修改 listen_addresses = \\\'*\\\' ,postgresql啟動(dòng)參數(shù) 定義哪些

    2024年02月02日
    瀏覽(31)
  • Jenkins Pipeline checkout scm拉取代碼

    Jenkins的pipeline實(shí)踐之GitSCM參數(shù)配置項(xiàng)詳解原創(chuàng)

    2024年02月12日
    瀏覽(20)
  • Java 在線編程編譯工具上線,直接運(yùn)行Java代碼

    Java 在線編程編譯工具上線,直接運(yùn)行Java代碼

    大家好,我是小哈~ 周末沒出去浪,花了點(diǎn)時(shí)間,在我的個(gè)人網(wǎng)站上線了一款小工具。啥工具呢?一款可以在線編譯 Java 代碼并運(yùn)行輸出結(jié)果的小工具。 大家都知道,甲骨文刷 Java 版本號(hào)非常積極,這不上個(gè)月 20 版本又來了。 你發(fā)任你發(fā),我用 Java 8。狗頭~ 每次發(fā)布新版本

    2024年02月11日
    瀏覽(16)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包