流程说明





本地部署



微服务是可以独立部署的,如果不借助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





生成远程执行命令脚本:



jenkins+Docker+springcloud微服务持续集成相关推荐

  1. 搭建Jenkins+SpringBoot+Docker的微服务持续集成框架

    前言 近一.两年,SpringBoot和Docker可以说非常的火热啊,而早在2015年的时候我就弄过一下Docker,不过由于职位和跳槽等种种原因,2016年就很少搞了,不过现在再捡起来也是很容易的 ...

  2. Jenkins+Kubernetes+Docker实现微服务持续集成

    nfs添加共享目录 cat /etc/exports /opt/nfs/jenkins *(rw,no_root_squash) /opt/nfs/maven *(rw,no_root_squash) ...

  3. centos7.9使用jenkins部署springcloud微服务_配合SVN_脚本_实现自动部署后端以及前端程序_亲测成功---持续集成部署Jenkins工作笔记0023

    以前有个jekins教程,还比较详细,但是,那个是基于git和svn,并且需要配置jekins支持git,svn的插件. 配置以后就可以实现只要提交代码,就会自动触发部署,但那个时候安装jenkins ...

  4. Jenkins+Docker+Spring+Java项目持续集成(单机版)

    1.大致流程 流程说明: 1)开发人员每天把代码提交到 Gitlab 代码仓库 2)Jenkins 从 Gitlab 中拉取项目源码,编译并打成jar包,然后构建成 Docker 镜像,将镜像上传到 ...

  5. k8s+jenkins+docker部署微服务实现CI/CD

    "所爱隔山海,山海不可平,海有舟可渡,山有路可行,此爱翻山海,山海皆可平." 作为一个想搞开发的,最近似乎都在干运维,不知道有没有跑偏... 2021.5.14 一般的中小公司个人 ...

  6. springcloud微服务整合/集成swagger(knife4j-小刀)实现在线文档调试和查看功能

    1.在gateway网关层加入以下依赖 <dependency><groupId>com.github.xiaoymin</groupId><artifact ...

  7. docker容器 eureka 集成_微服务:基于 Docker 的微服务架构之分布式企业级实践参考...

    编者按:本文分享自CSDN技术博客,作者为 FlyWine,所有权归原著者.若有不妥,联系本头条号以做必要处理. 目录 Microservice 和 Docker 服务发现模式 客户端发现模式 Net ...

  8. CI/CD——构建企业级Docker+Jenkins+Git+Harbor流水线自动化持续集成持续发布平台

    构建企业级Docker+Jenkins+Git+Harbor流水线自动化持续集成持续发布平台 CI/CD是什么? 持续集成(CI)/持续交付(CD)的优势 自动化部署流程图 Git Github Gi ...

  9. 容器化技术与微服务结合---结合springcloud微服务框架进行部署(含切换成阿里云docker仓库)(五)

    目录 系列 更换成阿里云仓库 开通阿里云镜像服务 创建仓库 本地k8s切换成阿里云的镜像仓库 测试阿里云镜像 准备简单的微服务 eureka 应用配置 k8s配置: demo-a 应用配置 k8s配置 ...

最新文章

  1. LoadRunner v12.55发布,大量新增功能,各协议得到优化改进
  2. [Android] 按钮单击事件的五种写法
  3. My MPC系列·暴风影音 V5.00 RC3
  4. 使用MEF构建可扩展的Silverlight应用
  5. 欧拉函数(简单介绍+例题)
  6. 目录页码错误未定义书签怎么解决_目录页码对不齐应该怎么办?这2种方法,工作效率大增...
  7. 【Spark Summit EU 2016】使用参数服务器在Spark上扩展因式分解机
  8. ExtJs学习笔记(10)_Window窗口的Border布局
  9. 设计模式之建造者(builder)模式
  10. 原型设计Axure RP mac
  11. 5G大规模天线系统架构探讨
  12. app开发外包公司一般报价多少钱?
  13. VB中传值(ByVal)和传地址(ByRef)的区别
  14. 修改win7的登录界面背景与关机背景
  15. sql查询语句 -牛客学习笔记
  16. javascript无限请求_SockJS - 重新连接后无限xhr-streaming呼叫
  17. Git版本控制管理——基本Git概念
  18. [创新工具和方法论]-02- DOE实验设计步骤
  19. 【刷题日记】BFS 经典题目
  20. 模式识别与机器学习(更新中)

热门文章

  1. “山东土地集团杯”暨滨州市数据应用创新创业大赛正式启动!
  2. 【Python】随心所欲地用Python处理时间
  3. 【NLP】21个经典深度学习句间关系模型|代码技巧
  4. 【机器学习】使用MLflow管理机器学习模型版本
  5. NIPS 2018 论文解读集锦(11月28日更新)
  6. 网易云解码实时音视频社交 成就游戏产业发展新变量
  7. eclipse远程调试失败
  8. 快速设置 App 图标 - iOS/Android
  9. 沫沫金:联想E431 1K6安装Windows系统100%成功技巧
  10. 实例:三层交换机VLAN间路由配置命令