Jenkins 与 RabbitMQ 集成(二)

Jenkins 与 RabbitMQ 集成包括两部分: 1. 通过 RabbitMQ 触发 Jenkins 构建,这里 Jenkins 作为 RabbitMQ 的 consumer;2. Jenkins 构建结束后将构建结果发送到 RabbitMQ,以便其他程序消费,这里 Jenkins 作为 RabbitMQ 的 producer

这篇文章将介绍如何将 Jenkins 构建结构发送到 RabbitMQ,内容如下:

  1. 插件安装
  2. 配置 RabbitMQ Consumer
  3. 配置 Jenkins Job
  4. 配置 RabbitMQ
  5. 测试验证

关于如何在 Centos 7 下安装 RabbitMQ,可以参考这篇文章:阿里云 Centos 7 安装和配置 RabbitMQ
关于如何通过 RabbitMQ 触发 Jenkins 构建,请参考 Jenkins 与 RabbitMQ 集成(一)

1. 插件安装

如果已经按照 Jenkins 与 RabbitMQ 集成(一) 中步骤安装过 RabbitMQ Build Trigger Plugin 的同学可以跳过这一步。

打开 Jenkins 主页,进入 Manage Jenkins -> Manager Plugin, 搜索并安装插件 RabbitMQ Build Trigger Plugin.

《Jenkins 与 RabbitMQ 集成(二)》

如果找不到RabbitMQ Build Trigger Plugin,不要担心,可能是Update Site配置得不对, 点击 Installed 右边的 Advanced,配置 Update Site 的URL 为 http://updates.jenkins-ci.org/stable/update-center.json, 再重新搜索就好。

《Jenkins 与 RabbitMQ 集成(二)》

《Jenkins 与 RabbitMQ 集成(二)》

2. 配置 RabbitMQ Consumer

如果已经按照 Jenkins 与 RabbitMQ 集成(一) 中步骤配置过 RabbitMQ Consumer 的同学可以简化这一步:新加一个 Queue 用来接收 Jenkins 发送过去的 Message 就好,我新加的 Queue 名为 jenkins.build-poster.queue

新同学请参照如下步骤配置:
打开 Jenkins 主页,进入 Manage Jenkins -> Configure System, 找到 RabbitMQ Consumer, 选中 Enable consumer,并配置好 Service URIUsernamePassword, 然后点击 Test Connection 是否可以与Rabbitmq通信。
Queues 里点击 Add,加一个 Queue 用来接收 Jenkins 发送过去的 Message 就好,加一个 Queue 用来接收 Jenkins 发送过去的 Message 就好,如下图所示:

《Jenkins 与 RabbitMQ 集成(二)》

3. 配置 Jenkins Job

点击左侧的 Configure,进入配置页面,点击 Post build actions,点击add post build action,在弹出的列表中选择 Publish build result to RabbitMQ

《Jenkins 与 RabbitMQ 集成(二)》

然后配置对应的 exchange name 和 routing key 就好。

《Jenkins 与 RabbitMQ 集成(二)》

4. 配置 RabbitMQ

如果已经按照 Jenkins 与 RabbitMQ 集成(一) 中步骤实践过的同学已经建好了名为 test.build-trigger.exchange 的 exchange 了,只需要再新建一个名为 jenkins.build-poster.queue 的 queue,并将 test.build-trigger.exchangejenkins.build-poster.queue 绑定,routing key 设置为在 Jenkins 中配置的值,我配置的值为 test.build.poster

《Jenkins 与 RabbitMQ 集成(二)》

5. 测试验证

构建你的 Jenkins 工程,构建结束后,你就能在 RabbitMQ Management 中看到刚刚的构建结果啦,如下所示:

《Jenkins 与 RabbitMQ 集成(二)》

    原文作者:王小七_seven
    原文地址: https://www.jianshu.com/p/3fb98aaf9af2
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞