前言:前面写过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节点

  • 通过rancher管理仓库,添加helm chart仓库(https://charts.jenkins.io)

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

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

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

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

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

    获取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 依次点击,进入插件管理页面

    搜索 "local“ ,按照以下步骤安装 Locale 和 Localization: Chinese (Simplified) 插件

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

  • Jenkins BlueOcean插件安装

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

2、Jenkins流水线测试

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

  • 编写流水线项目的脚本

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

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

  • 配置执行者数量>0

  • 再次构建项目,成功

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

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

jenkins流水线部署springboot应用到k8s集群(k3s+jenkins+gitee+maven+docker)(1)的更多相关文章

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

    前言:上篇已介绍了jenkins在k3s环境部署,本篇继续上篇讲述流水线构建部署流程 1.从gitlab上拉取代码步骤 在jenkins中,新建一个凭证:Manage Jenkins -> Ma ...

  2. 使用Rancher Server部署本地多节点K8S集群

    当我第一次开始我的Kubernetes之旅时,我一直在寻找一种设置本地部署环境的方式.很多人常常会使用minikube或microk8s,这两者非常适合新手在单节点集群环境下进行操作.但当我已经了解了 ...

  3. 使用Kubeadm创建k8s集群之部署规划(三十)

    前言 上一篇我们讲述了使用Kubectl管理k8s集群,那么接下来,我们将使用kubeadm来启动k8s集群. 部署k8s集群存在一定的挑战,尤其是部署高可用的k8s集群更是颇为复杂(后续会讲).因此 ...

  4. 使用Kubeadm创建k8s集群之节点部署(三十一)

    前言 本篇部署教程将讲述k8s集群的节点(master和工作节点)部署,请先按照上一篇教程完成节点的准备.本篇教程中的操作全部使用脚本完成,并且对于某些情况(比如镜像拉取问题)还提供了多种解决方案.不 ...

  5. 企业运维实践-还不会部署高可用的kubernetes集群?使用kubeadm方式安装高可用k8s集群v1.23.7

    关注「WeiyiGeek」公众号 设为「特别关注」每天带你玩转网络安全运维.应用开发.物联网IOT学习! 希望各位看友[关注.点赞.评论.收藏.投币],助力每一个梦想. 文章目录: 0x00 前言简述 ...

  6. 从0到1搭建k8s集群系列1:安装虚拟机及docker

    前言 本系列文章记录了本人学习k8s集群搭建的过程,从k8s基本组件的安装.到部署mysql服务到k8s集群.部署web项目到k8s集群以及安装可视化界面管理工具kuboard. 因为k8s的组件安装 ...

  7. [k8s]jenkins配合kubernetes插件实现k8s集群构建的持续集成

    另一个结合harbor自动构建镜像的思路: 即code+baseimage一体的方案 - 程序员将代码提交到代码仓库gitlab - 钩子触发jenkins master启动一次构建 - jenkin ...

  8. K8S(08)交付实战-交付jenkins到k8s集群

    k8s交付实战-交付jenkins到k8s集群 目录 k8s交付实战-交付jenkins到k8s集群 1 准备jenkins镜像 1.1 下载官方镜像 1.2 修改官方镜像 1.2.1 创建目录 1. ...

  9. kubernetes实战-交付dubbo服务到k8s集群(六)使用blue ocean流水线构建dubbo-consumer服务

    我们这里的dubbo-consumer是dubbo-demo-service的消费者: 我们之前已经在jenkins配置好了流水线,只需要填写参数就行了. 由于dubbo-consumer用的gite ...

随机推荐

  1. Python 用configparser读写ini文件

    一.configparser 简介Python用于读写ini文件的一个官方标准库.具体详见官网链接 二.configparser 部分方法介绍 方法 描述 read(filenames) filesn ...

  2. Proxmox-VE虚拟环境

  3. Detecting Rumors from Microblogs with Recurrent Neural Networks(IJCAI-16)

    记录一下,很久之前看的论文-基于RNN来从微博中检测谣言及其代码复现. 1 引言 现有传统谣言检测模型使用经典的机器学习算法,这些算法利用了根据帖子的内容.用户特征和扩散模式手工制作的各种特征,或者简 ...

  4. html字符超长后自动隐藏

    style="overflow:hidden;text-overflow:ellipsis;white-space:nowrap;"

  5. 记一道经典树上Nim游戏

    这道题首先是 Hanriver 提出来的,但是大家都不会做,今天看到了一道一模一样的题目 AT2667 题目大意是,每个人删掉一个不是整棵树的原树的子树,给定一个树问游戏状态. 首先,这是需要用到多个 ...

  6. NOI-Online一日游(小炒肉心态爆炸记)

    提高组 早上起来赶来机房,逃掉数竟,耶!(光凯:?? T1 It takes me a long time想T1 努力了一个小时的成果 成功码出暴力代码,时间复杂度\(O(n^2)\) 㵘到15分 刑 ...

  7. 5-4 Seata 分布式事务管理

    下载Seata https://github.com/seata/seata/releases https://github.com/seata/seata/releases/download/v1. ...

  8. noi-2.2基本算法之递归和自调用函数:放苹果

    先看一下题目: http://noi.openjudge.cn/ch0202/666/http://noi.openjudge.cn/ch0202/666/ 把M个同样的苹果放在N个同样的盘子里,允许 ...

  9. 用JavaScript写输入框的校验

    //Script function cheack(){ var kong = ''//获取值不能放外面,不然一直为空 kong = document.getElementById('name').va ...

  10. Auto.js 调用系统短信、电话

    本文所有教程及源码.软件仅为技术研究.不涉及计算机信息系统功能的删除.修改.增加.干扰,更不会影响计算机信息系统的正常运行.不得将代码用于非法用途,如侵立删! Auto.js 调用系统短信.电话 操作 ...