Jenkins + Gitlab + harbor + Kubernetes实现CI/CD
Posted 风的影子001
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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的主要内容,如果未能解决你的问题,请参考以下文章
Jenkins + Gitlab + harbor + Kubernetes实现CI/CD
Docker+Harbor+Jenkins+Gitlab自动化CICD构建
轻松部署Jenkins+harbor+gitlab实现docker的CICD