基于Jenkins和Kubernetes的CI/CD

木木1年前技术文章438

jenkins安装

安装helm CRD

编辑好yaml文件后直接安装即可

k3s kubectl apply -f jenkins-crd.yaml

查看我们安装好的helmchart crd

k3s kubectl get helmchart -A

查看jenkins

k3s kubectl get all -n jenkins

此时可以看到jenkins已经安装

jenkins配置

访问jenkins

我们的jenkins使用nodeport的访问方式,查看下nodeport的端口并进行访问

k3s kubectl get svc -n jenkins

访问宿主机的30341端口

获取jenkins密码

根据jenkins helm chart相关配置可以得知,jenkins初始账号密码存储在secret中,查看相关secret

k3s kubectl get secret -n jenkins

查看jenkinsci的secret

k3s kubectl get secret -n jenkins jenkinsci -o yaml

这里获取到的用户名和密码是经过base64加密的,获取未加密的用户名和密码(用户名是admin,这里不再获取)

jsonpath="{.data.jenkins-admin-password}"
secret=$(kubectl get secret -n jenkins jenkinsci -o jsonpath=$jsonpath)
echo $(echo $secret | base64 --decode)

通过用户名成功登录到jenkins,jenkins部署完成

配置jenkins

首先通过jenkins页面安装一些插件

如git,中文汉化等

安装完成后访问/restart路径重启jenkins生效

重启完成后就可以正常使用jenkins了

Config File Provider插件

我们这里使用Config File Provider来对jenkins进行管理,插件商店直接安装即可。安装完成后可以在jenkins管理页面看到配置页面。

这里需要安装两个插件(pipeline-multibranch-defaults和Config File Provider)

简单使用config file provider来管理jenkins file

点击 add new config 选择groovy file

这里的ID需要注意,后面将会用到。内容填写jenkinsfile的内容即可

创建jenkins多分支流水线项目并使用上述配置文件

jenkins新建一个多分支流水线项目

创建完成后进行配置

分支源按照需求填写即可

配置构建配置,这里就需要使用到我们上述创建的配置文件了

这里mode选择by default jenkinsfile,这个选项需要安装了pipeline-multibranch-defaults才可以找到,Script ID填写我们上面创建时配置文件的ID

保存完成后我们就创建好了一个jenkins流水线

使用视图区分jenkins流水线工程不同分支

可以看到我这里创建了多个jenkins的视图,每个视图对应我们一个git分支

创建分支视图

jenkins选择新建视图

视图名称填写我们的分支名称,选择列表视图即可

任务过滤器选择遍历文件夹,使用正则表达式显示任务,正则表达式匹配我们的分支名称

这样只要包含我们正则表达式匹配到的分支的应用都会在该视图下显示


相关文章

Yarn调度器和调度算法详解

Yarn调度器和调度算法详解

目前,Hadoop作业调度器主要有三种:FIFO、容量(Capacity Scheduler)和公平(Fair Scheduler)。Apache Hadoop3.1.3默认的资源调度器是C...

Ambari Hive 创建函数无权限

Ambari Hive 创建函数无权限

1、创建udf函数参考文档:https://blog.csdn.net/helloxiaozhe/article/details/102498567如果已经编写好,请使用自己的。如果没有请参考以上链接...

K8s Pod无法访问SLB地址

K8s Pod无法访问SLB地址

一、问题现象客户反馈172.16.11.220 telnet 47.99.87.129 80 不通,另一台172.16.11.219可以通。二、排查思路172.16.11.220,172.16.11....

MongoDB的SQL优化

一、MongoDB查询优化器1、MongoDB查询优化器1)MongoDB查询优化器会选择最优的一条执行计划来执行SQL。2)查询优化器会缓存那些有多条可用索引的SQL的执行计划条目2、查询优化器原理...

docker日志切割

docker日志切割

如果在docker部署前期没有规划好,例如:没有提前配置容器日志切割,那么在后期容器日志就会越来越大,当想要通过日志查看相关报错等信息的时候就会比较麻烦。配置docker日志切割在/etc/docke...

大数据之数据采集组件选型

大数据之数据采集组件选型

按数据的源头、实际上也是对应的数据采集方式,分别进行分析与技术推荐,数据从源头基本分为以下三大类1、Web页面/移动App/MES/IoT/系统生产: 这些数据是被动接收。建议可采用Apache Ni...

发表评论    

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。