? ?
?
? ?
jenkins+Docker+springcloud微服务持续集成
?
? ?
?
?
?
?
?
?
?
? ? ?
?
?
?
?
?
流程说明
本地部署
微服务是可以独立部署的,如果不借助spring-boot-maven插件,package出来的jar包是不能运行的。借助spring-boot-maven插件package出来的jar包已经内嵌了tomcat相关的jar,可以独立运行(java -jar):
使用Dockerfile制作微服务镜像
vi Dockerfile
docker build --build-arg JAR_FILE=tensquare_eureka_server-1.0-SNAPSHOT.jar -t eureka:v1 .
–build-arg JAR_FILE=xxx 设置参数的值
eureka:v1:eureka是镜像名称,v1是标签tag
docker build日志查看:
docker run创建容器验证一下:
docker logs -f 容器ID查看容器日志
Harbor
简介
安装
创建用户和项目
给tensquare项目添加成员:
上传镜像到Harbor
由于docker并不信任harbor仓库地址,贸然上传到harbor会报错:
vi /etc/docker/daemon.json 信任harbor仓库地址
systemctl restart docker 重启docker
上传到私有仓库,需要账号密码:不然会报错
所以需要登录harbor:
此时就会成功push:
查看harbor仓库,就会看到刚才上传的eureka镜像:
从harbor下载镜像
docker images
spring cloud微服务持续集成
代码上传到gitlab
idea vcs
enable
git
add
commit
remotes
push
TortoiseGit操作方式
init
commit
push
remote
从gitlab拉取项目源码
在项目根目录创建Jenkinsfile脚本文件:
jenkins操作:创建pipeline
将分支设计成参数接收,更灵活:
脚本中的变量设计:
双引号引用变量:
提交Jenkinsfile脚本文件:
Build With Parameters
构建完毕后代码成功pull:
提交到SonarQube代码审查
报错:
注释这行:
package各个子项目进行
mvn install失败因为common工程不是一个标准的spring cloud微服务工程,找不到启动类main class而报错。因此不能在parent工程中引入spring-boot-maven插件,而是在需要该插件的子工程中分别引入。
再次构建,就已经安装到本地仓库了:
mvn clean package
使用${project_name}来获取当前工程的名称
package zuul时报错:找不到parent父工程
需手动上传parent的pom文件到服务器的仓库相应目录下:
使用Dockerfile编译、生成镜像
dockerfile-maven-plugin插件可以读取每个工程中的Dockerfile文件自动构建镜像
tensquare_eureka_server工程
使用dockerfile-maven-plugin插件调用Dockerfile脚本文件生成镜像:
在Jenkinsfile脚本中触发dockerfile-maven-plugin插件的执行:
构建完毕后会生成eureka工程的镜像:
每个子工程都需要添加Dockerfile脚本文件和在pom.xml中添加dockerfile-maven-plugin插件:
上传镜像到harbor镜像仓库
定义镜像的标签(版本号):
定义harbor的URL地址:
定义harbor的项目名称:
上传到harbor是需要login的,账号密码写在Jenkinsfile脚本中就会暴露给所有开发人员,所以应该在jenkins的凭据中添加harbor的账号密码:
点击账号进入会看到自动生成的ID:
在Jenkinsfile脚本中定义harbor的登录凭证ID:
在流水线语法中选择:
对生成的脚本代码进行变量替换(可选):
提交push脚本。jenkins构建日志:
登录harbor仓库查看push的镜像:
从harbor拉取镜像和发布应用
jenkins安装Publish Over SSH插件
配置101ssh免密登录到103
生成远程执行命令脚本:
关注博主即可阅读全文
?
-全文完-
您可能关注的文档
- 微服务商城系统订单、支付流程分析.docx
- Quill基本使用和配置指南-DevUI.docx
- AI(人工智能)园区顶层设计方案.docx
- 融数数据基于Kubernetes的微服务治理和构建平台.docx
- Java并发编程与高并发解决方案 (2).docx
- Docker入门到实践-IDEA集成Docker构建容器镜像部署项目.docx
- java植物大战僵尸思路-JAVA课程设计.docx
- 数据新基建白皮书,释放数据生产力.docx
- sgg微服务架构解析-nacos.docx
- 图像超分辨率重建原理学习.docx
- 七年级上册语文期中考试模拟押题试题03【统编2024版七年级上册语文期中复习好题必刷】(含答案).pdf
- 2026年工业互联网安全态势感知技术发展与应用趋势分析报告.docx
- 2026年氢能燃料电池汽车产业链基础设施建设规划报告.docx
- 融资担保2026年创新模式与政策支持分析报告.docx
- 2026年在线办公平台功能优化与趋势研究.docx
- 2026年新能源汽车行业智能网联技术标准报告.docx
- 八年级英语上学期期末考试(广东卷)-八年级英语上学期期末复习查缺补漏冲刺满分(人教版).docx
- 乳制品行业五年升级方向:2026乳品包装报告.docx
- 2025至2030中国隔音PVB膜行业细分市场及应用领域与趋势展望研究报告.docx
- 2026年影视行业内容类型受众偏好与票房市场定位分析报告.docx
最近下载
- 2025年南京信息职业技术学院单招语文测试试卷.docx VIP
- 南京信息职业技术学院单招《数学》过关检测试卷附答案详解(基础题).docx VIP
- 2025年南京信息职业技术学院单招语文测试模拟试卷通用题库.docx VIP
- 男频网络小说标题用词特点研究.docx
- 2025年南京信息职业技术学院单招(语文)测试模拟试卷完整版.docx VIP
- 丰年虾养殖技术培训课件.ppt VIP
- 教学课件 社会研究方法(第五版)风笑天.ppt
- 认知觉醒-一部普通人的进阶宝典.docx VIP
- 海兴海林水产饲料有限公司丰年虫卵加工扩建项目环评报告表.DOC VIP
- PSP-641U备用电源自投装置(常规站)技术说明书.pdf VIP
原创力文档

文档评论(0)