Jenkins + Gitlab + harbor + Kubernetes实现CI/CD

亦余心之所善兮,虽九死其犹未悔。这篇文章主要讲述Jenkins + Gitlab + harbor + Kubernetes实现CI/CD相关的知识,希望能为你提供帮助。
Jenkins + Gitlab + harbor + Kubernetes实现CI/CD
机器规划kubernetes集群:v1.20.4
gitlab: gitlab-ce-13.7.1
harbor: v2.2.1
jenkins: jenkinsci/blueocean:latest
发布流程1、从gitlab拉取代码
2、代码编译
3、打包镜像、上传仓库
4、使用jenkins pod部署至k8s集群中
部署文件清单

[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安装插件系统管理--> 插件管理
搜索安装Git、Git Parameter、kubernetes、Config File Provider、Dingtalk

在jenkins中添加kubernetes云系统管理--> 节点管理--> Configure Clouds
配置完成点击测试连接,如果无报错并显示kubernetes集群版本信息,说明配置正确




Jenkins中配置认证信息1、gitlab认证信息,用于从gitlab仓库中拉取代码
2、harbor仓库认证信息,用于上传及拉取镜像

3、配置jenkins-slave在k8s集群中部署应用所需的认证权限文件
系统管理--> Managed file--> Add a new Config


Jenkins中配置pipeline流水线新建任务--> 按提示输入项目名称--> 选择流水线--> 确定

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

部署测试jenkins页面选择创建的项目,点击立即构建

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

构建输出:


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

项目访问测试:

以上所涉及到的部署清单,因涉及敏感信息,不方便在博文中体现,如有需要留言私信,共同学习探讨。


【Jenkins + Gitlab + harbor + Kubernetes实现CI/CD】


    推荐阅读