jenkins+k8s构建部署maven项目

本文介绍了如何配置Jenkins来自动化构建和部署Maven项目到Kubernetes集群。首先,详细讲解了Jenkins的系统配置,包括设置构建时间戳格式、SSH Servers配置以及Maven和JDK的全局工具配置。接着,阐述了任务构建的步骤,如创建视图、新建任务、设置git源码拉取、Maven打包、Docker镜像构建以及通过SSH执行K8s部署脚本。最后,强调了在部署过程中需要注意的变量替换和日志查看,确保成功部署。

一、jenkins配置

系统管理>>系统配置:

1)配置构建时间戳格式yyyyMMddHHmmss:

在这里插入图片描述

2)配置SSH Servers为kubectl云主机:

在这里插入图片描述

其中/root/jenkins目录为存放各服务yaml部署脚本路径

系统管理>>全局工具配置:

配置maven和jdk:

在这里插入图片描述
在这里插入图片描述

二、任务构建

1)创建视图npc_dev,在视图下新建任务,如图:

任务名称命名规范:项目简写_环境_服务

在这里插入图片描述

2)设置保存最近的3个构建记录:

在这里插入图片描述

3)设置git源码拉取:

在这里插入图片描述

填写服务git仓库地址,分支,用户名密码

Credentials点击添加如下:

在这里插入图片描述

4)Maven打包设置:

点击构建>增加构建步骤>调用顶层Maven目标,如图:

在这里插入图片描述

选择Maven版本为maven,填写目标为 clean package -Dmaven.test.skip=true -P npc_dev

在这里插入图片描述

其中-P npc_dev为对应环境,根据需要使用的application-npc_dev.properties文件变化

5)Docker镜像构建:

点击构建>增加构建步骤>Docker Build and Publish,如图:
在这里插入图片描述

设置镜像仓库地址,如图:

[图片上传中...(image-4b7050-1590280068861-6)]

其中Repository Name为京东云镜像仓库地址,可登录京东云容器镜像仓库进行创建和查询

Tag为构建的docker镜像版本,格式:

${GIT_COMMIT}-${BUILD_TIMESTAMP},
${GIT_COMMIT}为git仓库commit版本,${BUILD_TIMESTAMP}为构建时的时间戳

6)设置执行k8s部署脚本:

该步骤完成从jenkins发送服务的yaml部署脚本至kubectl服务器,并执行yaml

点击构建>增加构建步骤>Send files or execute commands over SSH,如图:

在这里插入图片描述

设置kubectl服务器地址和yaml部署脚本中的变量替换,如图:

在这里插入图片描述

参数说明:

Name:选择全局配置好的kubectl服务器名称

Source files:项目根目录下的yaml脚本名称

Remote directory:kubectl服务器的路径,用来存放发送过去的yaml路径,前缀为ssh server设置的路径/root/jenkins,即该cache.yaml存放目录为/root/jenkins/dev

Exec command:远程服务器kubectl上执行的shell命令,主要功能为替换yaml文件中的变量并apply该yaml

变量说明:

app_name:服务名称

pod_name:  pod名称前缀

group:分组名称

filepath:yaml文件路径

namespace:k8s命名空间

port:服务端口

registry:京东云镜像仓库注册表地址

project:京东云镜像仓库地址

tag:使用的部署镜像版本        

replicas:pod的副本数量

7)完成以上步骤后点击保存按钮,然后点击“立即构建”按钮进行部署,点击“控制台输出”可查询构建过程日志 :

在这里插入图片描述

日志最后出现SUCCESS,表示部署成功:

在这里插入图片描述

部署成功后可登录kubectl服务器查看pod状态和日志:

在这里插入图片描述

Running表示pod启动成功,可进一步进入pod查看应用启动日志:

kubectl -n npc exec -it eureka-dev-848f5dcb77-9qkpl /bin/bash

cd /export/Logs/eureka.ecc.jcloud

tail -f main.log

至此服务部署完成,如遇到报错可具体分析,并修改相关配置

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值