基于Jenkins和Kubernetes的CI/CD

木木2年前技术文章1007

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

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

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

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


相关文章

SQLServer执行计划

SQLServer执行计划

一、执行计划概览RDS SQLServer 执行计划可以在性能分析中查看,也可以在登陆数据库后查看执行计划。(1)在 DMS 登陆数据库后查看,情况如下: 具体执行计划内容如下: (2)在性能分析中找...

performance_schema

performance_schema

performance_schema一、数据库支持情况1、performance_schema被视为存储引擎,如果该引擎可用,则应该 INFORMATION_SCHEMA.ENGINES 表或 sho...

两款方案详解,企业线下数据库迁移至云上ScyllaDB(1)

两款方案详解,企业线下数据库迁移至云上ScyllaDB(1)

方案一通过扩缩容(上线新节点和下线老节点)方式迁移,这个过程数据库通过数据传输到新节点。整个过程不停机上下线节点的数据传输时存在压力。某个节点存在不可控的故障导致节点无法启动时,数据存在丢失的风险。新...

spark配置任务日志(Client模式& Cluster模式)

在Spark中,日志级别可以通过log4j.properties或log4j.xml文件来配置。对于spark-submit命令启动的应用程序,可以通过以下两种方式来修改日志级别:对于Client模式...

Haproxy配置负载均衡

yum安装haproxy如果后面要配置高可用,和keepalived配合使用更佳。yum install haproxy修改配置文件设置impala和ldap的负载均衡(Impala Daemon分布...

Linux分区动态扩容/缩容

Linux分区动态扩容/缩容

xfs与ext文件系统类型xfs:XFS一种高性能的日志文件系统,几乎具备所有EXT4支持的功能。但不支持文件系统收缩ext:支持度最广、但格式化慢,有ext2、ext3、ext4基础命令先查看一下目...

发表评论    

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