亦余心之所善兮,虽九死其犹未悔。这篇文章主要讲述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】
推荐阅读
- 图解带你掌握`JVM`运行时核心内存区
- #yyds干货盘点#https工作原理详解
- #yyds干货盘点#Linux基础知识点
- #yyds干货盘点#Linux常见面试题之文档编辑命令
- #yyds干货盘点#openssl
- java版gRPC实战之一(用proto生成代码)
- 如何用wordpress菜单显示单个帖子()
- 如何在WordPress/Woocommerce中禁用自动https重定向()
- 如何在Underscores WordPress主题中创建第二个侧边栏()