基于Jenkins和Kubernetes的CI/CD

木木1年前技术文章443

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

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

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

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


相关文章

二进制日志(binlog)

二进制日志(binlog)

一、简介二进制日志(binlog)记录了数据库中所有的DDL和DML(除select语句)操作,语句以“事件”的形式保存,记录了数据库的更改变化,在主从复制和数据恢复中起着重要的作用。但要注意的一点是...

 Ranger-hive插件部署

Ranger-hive插件部署

解压插件tar -zxf ranger-metastore-plugin.tar.gz -C /opt修改配置vim /opt/ranger-metastore-plugin/install.prop...

理解YAML文件

YAML 基础它的基本语法规则如下:大小写敏感使用缩进表示层级关系缩进时不允许使用Tab键,只允许使用空格。缩进的空格数目不重要,只要相同层级的元素左侧对齐即可# 表示注释,从这个字符一直到行尾,都会...

CDH实操--集群ip替换

CDH实操--集群ip替换

1 背景恰逢机房迁移,自建CDH集群需要调整ip网段。。。2 操作步骤2.1 停止CDH集群2.1.1 控制台停止集群服务2.1.2 控制台停止Cloudera Management Ser...

Linux命令traceroute—追踪网络路由利器

说明:通过traceroute我们可以知道信息从你的计算机到互联网另一端的主机是走的什么路径。当然每次数据包由某一同样的出发点(source)到达某一同样的目的地(destination)走的路径可能...

K3S部署和使用

K3S部署和使用

k3s介绍k3s是一个高可用的、经过CNCF认证的Kubernetes发行版,专为无人值守、资源受限、偏远地区或物联网设备内部的生产工作负载而设计。k3s安装参考文件使用配置文件安装k3s为了保证k3...

发表评论    

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