Jenkins:多job之间带参数触发的实现

背景

  • 微服务架构,注册中心使用的Eureka
  • 所有微服务都是通过Jenkins构建

目的

  • 在服务构建完成后,自动触发服务接口测试job的构建(如果:服务A构建完成后,自动触发接口自动化job,且只检测服务A对应的接口)。

实现过程

  1. 接口测试脚本准备(支持命令行传参执行)
    python写的测试启动脚本,同一个服务下的接口为一个测试集,通过sys,getopt模块支持命令行带参数执行。
    最终脚本执行命令格式:python run.py -m [service name]

  2. Jenkins集成接口测试脚本(参数化构建)

    这一步比较简单,加一个参数构建,选择“字符参数”
    参数设置.png

通过Shell命令来执行构建
构建.png
  1. job间带参数触发
  • Jenkins安装插件:Parameterized Trigger
  • 服务A对应的job增加一个构建后的步骤:Trigger parameterized build on other projects
    带参数触发.png

至此,多job间带参数触发就完成了。

遗留问题
Jenkins知道服务构建是否成功,但不知道服务是不是启动成功并注册到Eureka了,所以在服务构建完成后,到测试脚本执行需要有个间隔时间。每个服务启动的耗时是不一样的,写死的间隔时间显然不是一个好办法。目前想到的是通过Eureka提供的api来处理。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容