Jenkins + GitLab + Harbor + Kubernetes实现CI/CD

前言

说到Kubernetes的CI/CD,可以使用的工具有很多,比如 Jenkins、Gitlab CI 以及Tekton等等,这篇文章分享Kubernetes结合Jenkins、Gitlab、Harbor实现一个CI/CD流水线。

我们是基于Kubernetes来实现CI/CD,那么我们就将所有涉及的组件部署在Kubernetes集群中,这样看起来显得更加的云原生


环境规划

Kubernetes Version:v1.20.4

Gitlab Version:gitlab-ce-13.7.1

Harbor Version:v2.2.1

Jenkins Version:jenkinsci/blueocean:latest


发布流程

  1. 从gitlab拉取代码
  2. 代码编译
  3. 打包镜像、上传仓库
  4. 使用jenkins pod部署至k8s集群中

部署清单

安装的方式也有很多,我们这里采用手动的方式,这样可以了解更多部署细节。需要事先准备好Harbor镜像仓库和Gitlab代码管仓库

涉及的部署资源清单比较多,由于文章篇幅原因,文章中仅提供部署清单目录结构及配置步骤,如需部署清单,可在公众号后台留言。

目录结构:

[root@devops maven-java-pipeline-app]# tree.├── deploy.yaml├── Dockerfile├── jenkinsci│   └── jenkinsci.yml├── Jenkinsfile├── jenkins-slave│   ├── Dockerfile│   ├── jenkins-slave│   ├── kubectl│   ├── settings.xml│   └── slave.jar├── pom.xml├── README.md├── src└── tomcat8    ├── apache-tomcat-8.5.73.tar.gz    ├── Dockerfile    └── jdk-8u151-linux-x64.tar.gz

部署Jenkins

#kubectl apply -f jenkinsci/jenkinsci.yml

制作Tomcat镜像

# 镜像仓库名按需修改#docker build -t devops.sly.com/library/tomcat8 .#docker push devops.sly.com/library/tomcat8

制作Jenkins-slave镜像

# 镜像仓库名按需修改#docker build -t harbor.sly.com/library/jenkins-slave-jdk .#docker push harbor.sly.com/library/jenkins-slave-jdk

配置Jenkins

安装插件:

进入Jenkins系统管理–>插件管理,搜索安装Git、Git Parameter、kubernetes、Config File Provider、Dingtalk。

添加kubernetes云:

系统管理–>节点管理–>Configure Clouds,配置完成点击测试连接,如果显示kubernetes集群版本信息,说明配置正确。图文步骤如下:

配置认证信息:

  1. gitlab认证信息:用于从gitlab仓库中拉取代码
  2. harbor仓库认证信息:用于上传及拉取镜像

  3. 配置jenkins-slave在k8s集群中部署应用所需的认证权限文件

     系统管理–>Managed file–>Add a new Config

配置pipeline流水线:

在流水线模块选择Git,输入项目地址,选择提前配置好的认证信息,脚本路径填Jenkinsfile。

构建:

Jenkins页面选择创建的项目,点击立即构建

此处出现的选项都是在Jenkinsfile中定义好的

构建输出:

输出日志提示SUCCESS,同时收到钉钉通知消息

项目访问测试:

阅读全文
下载说明:
1、本站所有资源均从互联网上收集整理而来,仅供学习交流之用,因此不包含技术服务请大家谅解!
2、本站不提供任何实质性的付费和支付资源,所有需要积分下载的资源均为网站运营赞助费用或者线下劳务费用!
3、本站所有资源仅用于学习及研究使用,您必须在下载后的24小时内删除所下载资源,切勿用于商业用途,否则由此引发的法律纠纷及连带责任本站和发布者概不承担!
4、本站站内提供的所有可下载资源,本站保证未做任何负面改动(不包含修复bug和完善功能等正面优化或二次开发),但本站不保证资源的准确性、安全性和完整性,用户下载后自行斟酌,我们以交流学习为目的,并不是所有的源码都100%无错或无bug!如有链接无法下载、失效或广告,请联系客服处理!
5、本站资源除标明原创外均来自网络整理,版权归原作者或本站特约原创作者所有,如侵犯到您的合法权益,请立即告知本站,本站将及时予与删除并致以最深的歉意!
6、如果您也有好的资源或教程,您可以投稿发布,成功分享后有站币奖励和额外收入!
7、如果您喜欢该资源,请支持官方正版资源,以得到更好的正版服务!
8、请您认真阅读上述内容,注册本站用户或下载本站资源即您同意上述内容!
原文链接:https://www.shuli.cc/?p=15630,转载请注明出处。
0

评论0

显示验证码
没有账号?注册  忘记密码?