k8s部署jar包_jenkins 部署k8s-jar包项目

本文介绍了如何使用Jenkins持续集成工具配合Kubernetes(K8s)平台,进行Java项目的部署。首先,从Git仓库拉取代码,然后进行代码编译生成jar包,接着构建Docker镜像并推送到镜像仓库,最后将镜像部署到K8s集群中。整个流程包括拉取代码、代码编译、镜像构建和K8s部署四个阶段。
摘要由CSDN通过智能技术生成

一 说明

前面所有配置都跟jenkins部署k8s项目-CICD这篇配置一致,唯一不同的是发布脚本不一样

// 公共

def registry = "huningfei"

// 项目

def project = "demo-test"

def app_name = "demo"

def image_name = "${registry}/${project}:${BUILD_NUMBER}"

def git_address = "https://gitee.com/huningfei/demo-test.git"

// 认证

def secret_name = "registry-pull-secret"

def docker_registry_auth = "450fb8b4-62c9-43fe-8a69-ec30705e724e"

def git_auth = "b363af0f-a96c-465c-a14e-60f7127727eb"

def k8s_auth = "a60b4b7f-2aef-4622-94a5-6efef67c4ac9"

node(){

// 第一步

stage('拉取代码'){

checkout([$class: 'GitSCM', branches: [[name: '${Branch}']], userRemoteConfigs: [[credentialsId: "${git_auth}", url: "${git_address}"]]])

}

// 第二步

stage('代码编译'){

sh 'sudo su root -c "mvn clean package -Dmaven.test.skip=true"'

sh 'sudo su root -c "chown -R tomcat:tomcat /home/tomcat/.jenkins/workspace/k8s-demo-test"'

}

// 第三步

stage('构建镜像'){

withCredentials([usernamePassword(credentialsId: "${docker_registry_auth}", passwordVariable: 'password', usernameVariable: 'username')]) {

sh """

echo '

FROM java:8

WORKDIR /home/tomcat/.jenkins/workspace/k8s-demo-test

COPY target/demo-0.0.1-SNAPSHOT.jar /demo-0.0.1-SNAPSHOT.jar

CMD java -jar /demo-0.0.1-SNAPSHOT.jar

'> Dockerfile

docker build -t ${image_name} .

docker login -u ${username} -p '${password}'

docker push ${image_name}

"""

}

}

// 第四步

stage('部署到K8S平台'){

sh """

sed -i 's#\$IMAGE_NAME#${image_name}#' deploy.yml

sed -i 's#\$SECRET_NAME#${secret_name}#' deploy.yml

"""

kubernetesDeploy configs: 'deploy.yml', kubeconfigId: "${k8s_auth}"

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值