1 概述

谈到微服务架构体系,绕不开服务发现这个功能。服务发现机制是简化微服务配置、实现容灾、水平扩缩容、提高运维效率的重要方式。在服务发现工具中,Consul在部署和使用方面与容器结合的天衣无缝,成为越来越多的企业作为服务发现的首选产品。
在微服务开发中,SpringBoot目前是最为广泛使用一个框架。SpringBoot+Consul成为一个比较经典的微服务组合。

作为DevOps软件研发运维一体化的研发管理平台产品,可以完美的支持上述微服务架构。下面我们就以单元测试的示例,来说明在Azure DevOps Server (原名TFS)中如何实现SpringBoot+Consul架构的持续集成(CI)功能。

2. 下载Consul for Windows

https://www.consul.io/downloads.html

3. 在代理中将Consul安装为服务器,自动启动

SpringBoot架构的单元测试中,验证服务发现和注册功能是一个比较基础的测试点。在开发人员的计算机中,通常会手动启动一个consul进程,用来实现本地测试。同样,作为服务器端的持续集成工具,我们需要在Azure DevOps Server的服务器上运行Consul服务。
下面我们使用Windows Server中常用的sc.exe工具创建Consul服务。

sc.exe create "Consul" binPath= "C:\consul_1.5.1_windows_amd64\consul.exe agent -dev" start=auto
sc.exe start "Consul"



服务启动以后,我们可以使用浏览器,查看Consul的运行情况:

4. 配置流水线

在Azure DevOps Server中配置流水线,只需要勾选发布“将测试结果发布到流水线中”就可以了;当流水线完成以后,Azure DevOps Server会将测试结果文件(一般是一个xml文件)的结果,自动发布到流水线结果中。

5. 查看单元测试结果

流水线运行完成后,我们就可以在测试页签中查看到单元测试结果,如下图:

同时,如果你下载单元测试结果,可以查看到测试套件的详细信息

6. 常见问题

Consul服务启动不了:

一般原因是已经手动启动了Consul进程,8500端口被占用

IE浏览器查看Consul服务器,提示错误:

Windows Server上自带的IE 11不能正常访问Consul,换成Chrome,问题消失

------------------------------------------------------------

http://www.cnblogs.com/danzhang/  DevOps MVP 张洪君

------------------------------------------------------------

在Azure DevOps Server中运行基于Spring Boot和Consul的微服务项目单元测试的更多相关文章

  1. Spring Boot 是 Spring 的一套快速配置脚手架,可以基于Spring Boot 快速开发单个微服务

    Spring Boot 是 Spring 的一套快速配置脚手架,可以基于Spring Boot 快速开发单个微服务,Spring Cloud是一个基于Spring Boot实现的云应用开发工具:Spr ...

  2. 在Azure DevOps Server 中提交Maven 依赖包(mvn deploy-file)

    Contents 1. 概述 2. 必要准备 安装Java 下载安装Maven 3. 服务器配置 新建连接源 4. 客户端配置 5. 上传maven包文件 6. 常见问题 Maven最新版本3.6.2 ...

  3. 基于Spring Cloud、JWT 的微服务权限系统设计

    基于Spring Cloud.JWT 的微服务权限系统设计 https://gitee.com/log4j/pig https://github.com/kioyong/spring-cloud-de ...

  4. spring boot / cloud (十四) 微服务间远程服务调用的认证和鉴权的思考和设计,以及restFul风格的url匹配拦截方法

    spring boot / cloud (十四) 微服务间远程服务调用的认证和鉴权的思考和设计,以及restFul风格的url匹配拦截方法 前言 本篇接着<spring boot / cloud ...

  5. Spring Boot 和 Docker 实现微服务部署

    Spring boot 开发轻巧的微服务提供了便利,Docker 的发展又极大的方便了微服务的部署.这篇文章介绍一下如果借助 maven 来快速的生成微服务的镜像以及快速启动服务. 其实将 Sprin ...

  6. Spring boot学习1 构建微服务:Spring boot 入门篇

    Spring boot学习1 构建微服务:Spring boot 入门篇 Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程.该框 ...

  7. 使用Ratpack与Spring Boot构建高性能JVM微服务

    在微服务天堂中Ratpack和Spring Boot是天造地设的一对.它们都是以开发者为中心的运行于JVM之上的web框架,侧重于生产率.效率以及轻量级部署.他们在服务程序的开发中带来了各自的好处.R ...

  8. Spring Cloud Alibaba(2)---RestTemplate微服务项目

    RestTemplate微服务项目 前言 因为要运用 Spring Cloud Alibaba 开源组件到分布式项目中,所以这里先搭建一个不通过 Spring Cloud只通过 RestTemplat ...

  9. 基于Spring Boot架构的前后端完全分离项目API路径问题

    最近的一个项目采用前后端完全分离的架构,前端组件:vue + vue-router + vuex + element-ui + axios,后端组件:Spring Boot + MyBatis.之所以 ...

随机推荐

  1. EJB学习

    EJB:企业级JavaBean(Enterprise JavaBean, EJB)是一个用来构筑企业级应用的服务器端可被管理组件. EJB主要有三种Bean: Session Beans: 会在单个特 ...

  2. Protractor - 环境设置

    去年出于好奇搭建过一个Protractor+Cucumber的测试框架,当时项目上并没有用到AngularJS,所以框架能运行起来之后没有再深入了.最近新项目引入了AngularJS,想起去年搭的那个 ...

  3. 搭建Jupyter学习环境

    `python notebook`是一个基于浏览器的python数据分析工具,使用起来非常方便,具有极强的交互方式和富文本的展示效果.jupyter是它的升级版,它的安装也非常方便,一般`Anacon ...

  4. Spring Boot快速集成kaptcha生成验证码

    Kaptcha是一个非常实用的验证码生成工具,可以通过配置生成多样化的验证码,以图片的形式显示,从而无法进行复制粘贴:下面将详细介绍下Spring Boot快速集成kaptcha生成验证码的过程. 本 ...

  5. 使用ZeroClipboard操作剪切板

    一.ZeroClipboard下载地址 点击下载 二.添加js引用 <script src="../Assets/js/jquery-1.8.3.min.js">< ...

  6. python基础(31):进程(一)

    1. 什么是进程 进程(Process)是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位,是操作系统结构的基础.在早期面向进程设计的计算机结构中,进程是程序的基本执行 ...

  7. Python爬取知乎上搞笑视频,一顿爆笑送给大家

    前言 文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. 作者:Huangwei AI 来源:Python与机器学习之路 PS:如有需 ...

  8. Http协议(自己的一些小小的总结,方便日后学习揣摩)

    从2019年6月中旬开始学习JAVA已经差不多6个月了,也算是差不多半只脚踏进了JAVA的大门,没有老师带,遇到问题就要自己查百度,搜博客,去给各个大佬私信留言,也不知道看不看的见. 看了很多大佬的视 ...

  9. XML的互相序列化对象

    using System.Xml.Serialization; using System.IO; using System.Xml; namespace Common { public class X ...

  10. 「SAP 技术」SAP MM 物料主数据利润中心字段之修改

    SAP MM 物料主数据利润中心字段之修改 近日,收到业务部门报的一个问题,说是MM02去修改物料的利润中心字段值,系统报错说物料库存存在,不让修改. 笔者查询了该物料的库存,当期库存并不存在.MMB ...