基于Jenkins持续集成与部署项目在Kubernetes上

构建部署工具及镜像作用介绍

Github仓库地址:https://github.com/Beatrueman/Jenkins-CICD.git

工具

Jenkins:通过Pipeline实现CI/CD流

Sonar:进行代码检查

draft:根据项目自动生成Dockerfile与Helm Chart

Buildah:打包、推送镜像

Helm:部署Chart到Kubernetes集群

镜像

beatrueman/builder:1.0:整合了draftbuildah,负责镜像构建与镜像推送

beatrueman/deployer:1.0:整合了Helm,用于部署Chart到Kubernetes

sonarsource/sonar-scanner-cli:latest:用于执行代码检查

jenkins/inbound-agent:3206.vb_15dcf73f6a_9-2:它是 Jenkins Pipeline 中的一种代理机制,允许在 Jenkins 中动态创建代理节点以执行特定的构建任务。

整体流程

image-20240607222125043

  1. 开发人员推送代码到Git仓库,自动触发Jenkins CI/CD流
  2. SonarQube进行代码检查
  3. 查找Dockerfile,如果没有则通过Draft自动生成Dockerfile和Helm Chart
  4. 使用buildah进行镜像打包与镜像推送到Harbor仓库
  5. 使用Helm将Chart部署在Kubernetes集群上,并把打包好的chart包推送至Harbor

参数

参数化构建

变量名 表示值 可选项
HARBOR_REGISTRY Harbor仓库名
PROJECT_NAME 项目名称 必须小写
ENTRYPOINT 项目入口文件(仅用于Python) app.py或main.py
PORT 项目暴露入口
IMAGE_NAME 镜像名称
TAG 镜像标签
SONAR_PROJECT_NAME sonar代码检查项目名称

准备

插件下载

插件管理中搜索并下载以下插件

Kubermetes:Kubernetes版本4238.v41b_3ef14a_5d8

SonarQube Scanner for Jenkins:SonarQube Scanner for Jenkins版本

添加凭据

image-20240607235051117

  1. SonarQube凭据保存的内容为在SonarQube中生成的全局令牌
  2. Harbor-Secret凭据保存Harbor的用户名和密码
  3. kubeconfig保
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值