基于Jenkins和Kubernetes的CI/CD

木木1年前技术文章532

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选择新建视图

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

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

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


相关文章

Nginx限流

Nginx限流

一、背景         限流的目的是通过对并发访问/请求进行限速来保护系统,一旦达到限制速率则可以拒绝服务(定向到错误页),多应用于高并发场景和安全防护场景。通过限流有效地减缓暴力密码破解攻击,也可...

CDH配置impala自动同步HMS元数据

CDH配置impala自动同步HMS元数据

1、进入CM界面 > Hive > 配置 > 搜索 启用数据库中的存储通知(英文界面搜索:Enable Stored Notifications in Database),并且勾选,...

数据湖技术之iceberg(十二)Flink与Iceberg整合-SQL API操作

数据湖技术之iceberg(十二)Flink与Iceberg整合-SQL API操作

1.SQL API 创建Iceberg表并写入数据StreamExecutionEnvironment env = StreamExecutionEnvironment.getExecutionEnv...

大数据集群部署规划(四)组件建议规格

类型指标名称规格说明HDFS单对NameNode最大文件数1亿-单DataNode最大block数500万GC参数 -Xmx32G单个DataNode磁盘最多block数50万-单个目录下最多文件目录...

MongoDB 单机安装部署

MongoDB 单机安装部署

说明本篇文章介绍 MongoDB 二进制安装的步骤,整个过程还是比较简单。1. 下载安装包进入 MongoDB 官网,获取安装包的下载链接:https://www.mongodb.com/try/do...

Prometheus与Zabbix的对比

一、Prometheus与Zabbix的对比对比项PrometheusZabbixPrometheus优势Zabbix优势管理二进制文件启动LNMP+编译轻量级Server,便于迁移和维护-配置配置文...

发表评论    

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