jenkins流水线部署springboot应用到k8s集群(k3s+jenkins+gitee+maven+docker)(1)

时间:2022-09-14 20:48:45

前言:前面写过2篇文章,介绍jenkins通过slave节点部署构建并发布应用到虚拟机中,本篇介绍k8s(k3s)环境下,部署jenkins,通过流水线脚本方式构建发布应用到k8s(k3s)集群环境中,本篇文章使用的环境是k3s+rancher2.6.3

1、jenkins环境部署(k8s or k3s)

  • 环境介绍:

    192.168.231.132 单主机独立节点,装k3s用的mysql,nginx等,装有Docker
    192.168.231.133 k3s master node节点
    192.168.231.134 k3s node节点

  • https://charts.jenkins.io)

    jenkins流水线部署springboot应用到k8s集群(k3s+jenkins+gitee+maven+docker)(1)

  • 通过“应用市场”安装jenkins,名称为:jenkinsbuild

    jenkins流水线部署springboot应用到k8s集群(k3s+jenkins+gitee+maven+docker)(1)

    jenkins流水线部署springboot应用到k8s集群(k3s+jenkins+gitee+maven+docker)(1)

  • 创建一个ingress,访问jenkins;映射8080端口

    jenkins流水线部署springboot应用到k8s集群(k3s+jenkins+gitee+maven+docker)(1)

  • 修改hosts文件,指定域名映射(jenkins.local.com)

    jenkins流水线部署springboot应用到k8s集群(k3s+jenkins+gitee+maven+docker)(1)

  • 通过域名访问http://jenkins.local.com/; jenkins安装成功

    jenkins流水线部署springboot应用到k8s集群(k3s+jenkins+gitee+maven+docker)(1)

  • 查看jenkins安装日志,里面有提示命令,通过命令获取admin用户的密码

    jenkins流水线部署springboot应用到k8s集群(k3s+jenkins+gitee+maven+docker)(1)

    获取jenkins用户admin的密码:
    kubectl exec --namespace jenkinsdemo -it svc/jenkinsbuild -c jenkins -- /bin/cat /run/secrets/additional/chart-admin-password && echo
    密码:yaOYPVt3yYB3AQe2F1ymzw

    可以通过命令,在k8s主机节点,映射端口,访问jenkins
    映射端口访问jenkins:
    kubectl --namespace jenkinsdemo port-forward svc/jenkinsbuild 8080:8080

  • Jenkins2.346设置中文
    Manage Jenkins -> Manage Plugins 依次点击,进入插件管理页面

    jenkins流水线部署springboot应用到k8s集群(k3s+jenkins+gitee+maven+docker)(1)

    jenkins流水线部署springboot应用到k8s集群(k3s+jenkins+gitee+maven+docker)(1)

    jenkins流水线部署springboot应用到k8s集群(k3s+jenkins+gitee+maven+docker)(1)

    Manage Jenkins -> Configure System 依次点击,进入系统配置页面
    在Locale -> Default Language 设置框中填入 “zh_cn” ,如果勾选了下面的复选框则表示忽略浏览器的设置,强制用户使用该语言显示,然后 点击 apply,这时再回到jenkins首页,显示语言已经修改为中文了

    jenkins流水线部署springboot应用到k8s集群(k3s+jenkins+gitee+maven+docker)(1)

  • Jenkins BlueOcean插件安装

    jenkins流水线部署springboot应用到k8s集群(k3s+jenkins+gitee+maven+docker)(1)

  • k8s安装jenkins方式:1.helm方式,添加jenkins仓库,更新安装;2.自己创建k8s的deployment的文件,部署jenkins;本篇不再介绍这两种方式

2、Jenkins流水线测试

  • 新建一个item,流水线项目

    jenkins流水线部署springboot应用到k8s集群(k3s+jenkins+gitee+maven+docker)(1)

  • 编写流水线项目的脚本

    jenkins流水线部署springboot应用到k8s集群(k3s+jenkins+gitee+maven+docker)(1)

  • 运行构建项目,报错:Waiting for next available executor

    jenkins流水线部署springboot应用到k8s集群(k3s+jenkins+gitee+maven+docker)(1)

  • 管理Jenkins-》节点配置---》选择默认节点:Built-In Node

    jenkins流水线部署springboot应用到k8s集群(k3s+jenkins+gitee+maven+docker)(1)

  • 配置执行者数量>0

    jenkins流水线部署springboot应用到k8s集群(k3s+jenkins+gitee+maven+docker)(1)

  • 再次构建项目,成功

    jenkins流水线部署springboot应用到k8s集群(k3s+jenkins+gitee+maven+docker)(1)

  • 安装docker插件,为后续流水线构建做准备

    jenkins流水线部署springboot应用到k8s集群(k3s+jenkins+gitee+maven+docker)(1)

    jenkins流水线部署springboot应用到k8s集群(k3s+jenkins+gitee+maven+docker)(1)

本篇先到这里,本篇介绍jenkins在k3s环境下的部署,与简单测试,下篇继续流水线构建相关的内容