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

Jenkins打包springboot項目到k8s

這篇具有很好參考價值的文章主要介紹了Jenkins打包springboot項目到k8s。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

一、Jenkins配置

1.1、pipeline插件安裝

二、拉取git代碼

pipeline {
    agent any
	stages {
		stage('Checkout') {
			steps {
				echo "1.克隆git倉庫代碼"
				git branch: 'dev', credentialsId: 'c253ee4c-f900-422b-b3f2-b83090ae6a9b', url: 'https://gitee.com/luckywxn/WeaveErpSoa.git'
				script {
					build_tag = sh(returnStdout: true, script: 'git rev-parse --short HEAD').trim()
				  }
				echo "${build_tag}"
			}
		}
	}
}

三、Maven打包spring項目

pipeline {
    agent any
	stages {
		stage('Checkout') {
			steps {
				echo "1.克隆git倉庫代碼"
				git branch: 'dev', credentialsId: 'c253ee4c-f900-422b-b3f2-b83090ae6a9b', url: 'https://gitee.com/luckywxn/WeaveErpSoa.git'
				script {
					build_tag = sh(returnStdout: true, script: 'git rev-parse --short HEAD').trim()
				  }
				echo "${build_tag}"
			}
		}
		stage('Maven Build') {
            steps {
				echo "2.Maven 打包項目"
                sh "mvn --version"
				sh 'pwd'
				sh 'mvn clean package -DskipTests'
				echo '構(gòu)建完成'
            }
        }
	}
}

三、docker構(gòu)建鏡像

pipeline {
    agent any
	stages {
		stage('Checkout') {
			steps {
				echo "1.克隆git倉庫代碼"
				git branch: 'dev', credentialsId: 'c253ee4c-f900-422b-b3f2-b83090ae6a9b', url: 'https://gitee.com/luckywxn/WeaveErpSoa.git'
				script {
					build_tag = sh(returnStdout: true, script: 'git rev-parse --short HEAD').trim()
				  }
				echo "${build_tag}"
			}
		}
		stage('Maven Build') {
            steps {
				echo "2.Maven 打包項目"
                sh "mvn --version"
				sh 'pwd'
				sh 'mvn clean package -DskipTests'
				echo '構(gòu)建完成'
            }
        }
		stage('Docker Build') {
            steps {
				echo "3.Docker 構(gòu)造鏡像"
				sh "docker -v"
				sh 'pwd'
				sh """cd /var/jenkins_home/workspace/test/weaveserviceservice/src/main/docker/ 
				ls
				docker -H tcp://127.0.0.1:80 build -t springbootapp:${build_tag} ."""
            }
        }
	}
}

遇到的問題:
在使用docker build命名的時候,報如下錯誤

Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?

解決方案:
在jenkins 啟動的docker-compose文件中增加如下配置

/var/run/docker.sock:/var/run/docker.sock

四、docker推送鏡像

def servicename = "weaveservice"
node {
	stage('Checkout') {
		echo "1.克隆git倉庫代碼"
		git branch: 'dev', credentialsId: 'c253ee4c-f900-422b-b3f2-b83090ae6a9b', url: 'https://gitee.com/luckywxn/WeaveErpSoa.git'
		script {
			build_tag = sh(returnStdout: true, script: 'git rev-parse --short HEAD').trim()
		  }
		echo "${build_tag}"
	}
	stage('Maven Build') {
		echo "2.Maven 打包項目"
		sh "mvn --version"
		sh 'pwd'
		sh 'mvn clean package -DskipTests'
		echo '構(gòu)建完成'
	}
	stage('Docker Build') {
		echo "3.Docker 構(gòu)造鏡像"
		sh "docker -v"
		sh 'pwd'
		sh """cd /var/jenkins_home/workspace/test/weaveserviceservice/src/main/docker/ 
		ls
		docker build -t 127.0.0.1:80/dev/${servicename}:${build_tag} ."""
	}
	stage('Docker Push') {
		echo "4.Docker 推送鏡像"
		withCredentials([usernamePassword(credentialsId: "0fbd81ff-a45b-4e8b-9355-a2a5a36438c0", passwordVariable: "password", usernameVariable: "username")]) {
			sh "docker login 127.0.0.1:80 -u ${username} -p ${password}"
			sh "docker push 127.0.0.1:80/dev/${servicename}:${build_tag}"
		}
	}
}

遇到的問題:
在使用docker build命令的時候,報如下錯誤

Cannot perform an interactive login from a non TTY device 

解決方案:
參考博文Docker、Jenkins、Harbor 構(gòu)建鏡像部署 SpringBoot 項目,先不在jenkins中執(zhí)行,先在宿主機上執(zhí)行是否可以成功,然后在jenkins中編寫對應(yīng)腳本就可以了。

五、kubelctl執(zhí)行

def harborurl = "127.0.0.1:80"
def servicename = "weaveservice"
node {
	stage('Checkout') {
		echo "1.克隆git倉庫代碼"
		git branch: 'dev', credentialsId: 'c253ee4c-f900-422b-b3f2-b83090ae6a9b', url: 'https://gitee.com/luckywxn/WeaveErpSoa.git'
		script {
			build_tag = sh(returnStdout: true, script: 'git rev-parse --short HEAD').trim()
		  }
		echo "${build_tag}"
	}
	stage('Maven Build') {
		echo "2.Maven 打包項目"
		sh "mvn --version"
		sh 'pwd'
		sh 'mvn clean package -DskipTests'
		echo '構(gòu)建完成'
	}
	stage('Docker Build') {
		echo "3.Docker 構(gòu)造鏡像"
		sh "docker -v"
		sh 'pwd'
		sh """cd /var/jenkins_home/workspace/test/weaveserviceservice/src/main/docker/ 
		ls
		docker build -t ${harborurl}/dev/${servicename}:${build_tag} ."""
	}
	stage('Docker Push') {
		echo "4.Docker 推送鏡像"
		withCredentials([usernamePassword(credentialsId: "0fbd81ff-a45b-4e8b-9355-a2a5a36438c0", passwordVariable: "password", usernameVariable: "username")]) {
			sh "docker login ${harborurl} -u ${username} -p ${password}"
			sh "docker push ${harborurl}/dev/${servicename}:${build_tag}"
		}
	}
	stage('Deploy') {
		echo "5. Deploy Kubernetes"
		sh "kubectl version"
		sh """cd /var/jenkins_home/workspace/test/weaveserviceservice/ 
		ls
		sed -i 's/<PROJECT_NAMESPACE>/app/' k8s.yaml
		sed -i 's/<DOCKER_REGISTRY>/${harborurl}/' k8s.yaml
		sed -i 's/<PROJECT_NAME>/${servicename}/' k8s.yaml
		sed -i 's/<BUILD_TAG>/${build_tag}/' k8s.yaml
		kubectl delete -f .
		kubectl apply -f k8s.yaml --record
		"""
	}
}

遇到的問題一:

在使用kubectl version命令的時候,報如下錯誤

Error from server (Forbidden): <html><head><meta http-equiv='refresh' content='1;url=/login?from=%2Fswagger-2.0.0.pb-v1%3Ftimeout%3D32s'/><script>window.location.replace('/login?from=%2Fswagger-2.0.0.pb-v1%3Ftimeout%3D32s');</script></head><body style='background-color:white; color:white;'>


Authentication required
<!--
-->

</body></html>

解決方案:
參考博文從 jenkins 容器運行 kubectl 命令,jenkins配置的環(huán)境變量中設(shè)置kubectl 的認證信息

遇到的問題二:

在使用kubectl apply -f k8s.yaml --record命令的拉取鏡像的時候,報如下錯誤

container "weaveservice" in pod "weaveservice-dad798uvdkkd"is waiting pulled 

解決方案:
參考博文k8s 1.23 拉取 harbor鏡像失敗,配置好后還是報錯,后面突然發(fā)現(xiàn),pod是在node節(jié)點拉取的鏡像,然后在node節(jié)點的宿主機執(zhí)行docker login 命令,發(fā)現(xiàn)又有如下報錯:

Error response from daemon: Get "https://192.168.1.7:80/v2/": http: server gave HTTP response to HTTPS client

然后參考博文 Docker login 登錄私服,報錯; http: server gave HTTP response to HTTPS client操作后,docker login 命令執(zhí)行成功,鏡像拉取下來之后,pod也就自動啟動了。大功告成?。?!文章來源地址http://www.zghlxwxcb.cn/news/detail-831761.html

參考資料

  1. jenkins流水線部署springboot應(yīng)用到k8s集群(k3s+jenkins+gitee+maven+docker)(2)
  2. jenkins發(fā)布springboot到k8s
  3. Jenkins中無法啟動docker daemon的解決和思考
  4. SpringBoot 應(yīng)用如何部署到 K8S 上?
  5. jenkins 上的 docker 登錄
  6. Docker、Jenkins、Harbor 構(gòu)建鏡像部署 SpringBoot 項目
  7. k8s 1.23 拉取 harbor鏡像失敗
  8. K8S部署應(yīng)用時從harbor拉取鏡像失敗
  9. Docker login 登錄私服,報錯; http: server gave HTTP response to HTTPS client

到了這里,關(guān)于Jenkins打包springboot項目到k8s的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

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

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

相關(guān)文章

  • jenkins安裝,打包,部署java項目

    jenkins安裝,打包,部署java項目

    一、安裝 下載地址 :https://www.jenkins.io/zh/download/ 選擇 CentOS/Fedora/Red Hat版本 安裝命令如下: 至此 不出意外 安裝已經(jīng)結(jié)束 啟動 Jenkins 記得打開8080防火墻 如果出現(xiàn) Build step ‘Execute shell’ marked build as failure 權(quán)限不夠 解決方法,將Jenkins運行用戶改為root,默認Jenkins用戶 JENKINS

    2024年02月02日
    瀏覽(17)
  • Jenkins配置maven項目,打包、部署、發(fā)布

    Jenkins配置maven項目,打包、部署、發(fā)布

    Jenkins和項目在兩臺服務(wù)器上 Jenkins的下載安裝部署省略,可自行上官網(wǎng)。 1.安裝maven插件 完成后,會出現(xiàn)“success”,并且勾選“安裝完成后重啟Jenkins(空閑時)” 2.部署有Jenkins的服務(wù)器上,下載maven,配置環(huán)境變量,我在opt/目錄下放著。 ?執(zhí)行命令: Jenkins配置maven 配置maven,

    2024年02月09日
    瀏覽(18)
  • 【微服務(wù)部署】二、Jenkins一鍵打包部署SpringBoot應(yīng)用步驟詳解

    【微服務(wù)部署】二、Jenkins一鍵打包部署SpringBoot應(yīng)用步驟詳解

    ??本文介紹使用Jenkins一鍵將SpringBoot應(yīng)用打包并上傳到生產(chǎn)環(huán)境服務(wù)器運行,這里使用的是直接在服務(wù)器上運行FagJar的方式,首先確保服務(wù)器環(huán)境配置好,安裝必須的JDK運行時環(huán)境,運行目錄,日志存放目錄等。 一、服務(wù)器環(huán)境配置 ??關(guān)于JDK的選擇,自1.8版本收費之后,

    2024年02月10日
    瀏覽(19)
  • jenkins 打包項目,并發(fā)布到其他服務(wù)器

    jenkins 打包項目,并發(fā)布到其他服務(wù)器

    在jenkins的節(jié)點服務(wù)上進行項目的打包操作。 jenkins節(jié)點服務(wù)上需要的程序: 1.git 用于從gitlab上拉取項目,到j(luò)enkins節(jié)點服務(wù)器上的workspace目錄中。 2.java 用于執(zhí)行jenkins的一些操作。 3.maven 如果是maven項目,要用于管理依賴。 jenkins 配置 Publish over SSH 插件。用于將節(jié)點服務(wù)上打包

    2024年02月15日
    瀏覽(19)
  • jenkins 打包cloud多模塊項目,一體化方案

    jenkins 打包cloud多模塊項目,一體化方案

    git 地址為整體結(jié)構(gòu) 未拆分 :? http://127.0.0.1:8888/gtilab/頂級父工程.git ? ???????? ? ?此篇主要關(guān)注jenkins 相關(guān)集成構(gòu)建,重點不在于 gitlab,harbor,rancher等環(huán)境的搭建 ? ?有空再補充吧,先搞個demo。 ? 2.2.1? 安裝 gitlab插件 安裝流水線相關(guān)插件;? 這些插件? 安裝的時候會引導(dǎo)安裝

    2024年02月03日
    瀏覽(20)
  • 項目打包docker鏡像 | 上傳nexus | jenkins一鍵構(gòu)建

    項目打包docker鏡像 | 上傳nexus | jenkins一鍵構(gòu)建

    ??Docker部署項目是指使用Docker容器化技術(shù)將應(yīng)用程序及其依賴項打包成一個獨立的、可移植的運行環(huán)境,并在各種操作系統(tǒng)和平臺上進行部署和運行。 ??使用Docker的主要原因是解決了應(yīng)用程序在不同環(huán)境中部署和運行的問題。傳統(tǒng)上,應(yīng)用程序在部署時需要考慮操作系統(tǒng)

    2024年02月09日
    瀏覽(29)
  • uniapp:HbuildeX項目實現(xiàn)jenkins自動化打包上傳

    uniapp:HbuildeX項目實現(xiàn)jenkins自動化打包上傳

    前序: 基于HBuilderX創(chuàng)建的項目。 配置uniapp 指令式打包APP、微信小程序、H5。 ubuntu系統(tǒng)上的jenkins部署基礎(chǔ)指令,發(fā)送給windows服務(wù)器上,windows服務(wù)器使用HBuilderX軟件的cli.exe執(zhí)行相關(guān)cli命令打包,然后jenkins再調(diào)用接口下載打包后的文件。 可實現(xiàn)多線程同時打包。 大致流程:

    2024年02月16日
    瀏覽(21)
  • 前端項目打包和自動化部署(jenkins+gitee+nginx)

    前端項目打包和自動化部署(jenkins+gitee+nginx)

    1. 傳統(tǒng)的開發(fā)模式 在傳統(tǒng)的開發(fā)模式中,開發(fā)的整個過程是按部就班就行: 但是這種模式存在很大的弊端: 工作的不協(xié)調(diào):開發(fā)人員在開發(fā)階段,測試和運維人員其實是處于等待的狀態(tài)。等到測試階段,開發(fā)人員等待測試反饋bug,也會處于等待狀態(tài)。 線上bug的隱患:項目準

    2024年02月01日
    瀏覽(25)
  • k8s 部署Jenkins項目

    k8s 部署Jenkins項目

    要求:當前集群配置了storageClass,并已指定默認的storageClass,一般情況下,創(chuàng)建的storageClass即為默認類 指定默認storageClass的方式 1.1 部署helm 1.2 部署jenkins 1.3 檢查 jenkins 1.4 配置訪問 3.1 準備ruoyi數(shù)據(jù) 3.2 準備k8s證書 3.3 準備maven配置文件 3.4 配置釘釘插件 在系統(tǒng)管理的下方有未

    2024年01月21日
    瀏覽(57)
  • Android開發(fā)-Android項目Jenkins自動化打包流程搭建與配置

    Android開發(fā)-Android項目Jenkins自動化打包流程搭建與配置

    由于之前公司的 Android 項目需要 APK 自動打包的功能,所以需要搭建 Jenkins 自動化打包的功能。 Jenkins 是一個用于自動化構(gòu)建、測試和部署軟件項目的開源持續(xù)集成和持續(xù)交付(CI/CD)工具。它提供了一個可擴展的平臺,可以幫助開發(fā)團隊更快地構(gòu)建、測試和交付他們的應(yīng)用程

    2024年02月08日
    瀏覽(25)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包