当前位置:   article > 正文

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

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,同时收到钉钉通知消息

图片

项目访问测试:

图片

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/繁依Fanyi0/article/detail/582460
推荐阅读
相关标签
  

闽ICP备14008679号