Jenkins 與 RabbitMQ 集成包括兩部分: 1. 通過 RabbitMQ 觸發(fā) Jenkins 構(gòu)建虏劲,這里 Jenkins 作為 RabbitMQ 的 consumer;2. Jenkins 構(gòu)建結(jié)束后將構(gòu)建結(jié)果發(fā)送到 RabbitMQ存皂,以便其他程序消費(fèi)泻帮,這里 Jenkins 作為 RabbitMQ 的 producer
這篇文章將介紹如何將 Jenkins 構(gòu)建結(jié)構(gòu)發(fā)送到 RabbitMQ悠抹,內(nèi)容如下:
- 插件安裝
- 配置 RabbitMQ Consumer
- 配置 Jenkins Job
- 配置 RabbitMQ
- 測試驗(yàn)證
關(guān)于如何在 Centos 7 下安裝 RabbitMQ夭织,可以參考這篇文章:阿里云 Centos 7 安裝和配置 RabbitMQ
關(guān)于如何通過 RabbitMQ 觸發(fā) Jenkins 構(gòu)建网杆,請參考 Jenkins 與 RabbitMQ 集成(一)
1. 插件安裝
如果已經(jīng)按照 Jenkins 與 RabbitMQ 集成(一) 中步驟安裝過 RabbitMQ Build Trigger Plugin
的同學(xué)可以跳過這一步吃环。
打開 Jenkins 主頁也颤,進(jìn)入 Manage Jenkins -> Manager Plugin
, 搜索并安裝插件 RabbitMQ Build Trigger Plugin
.
如果找不到RabbitMQ Build Trigger Plugin
,不要擔(dān)心郁轻,可能是Update Site
配置得不對, 點(diǎn)擊 Installed
右邊的 Advanced
翅娶,配置 Update Site
的URL 為 http://updates.jenkins-ci.org/stable/update-center.json
, 再重新搜索就好好唯。
2. 配置 RabbitMQ Consumer
如果已經(jīng)按照 Jenkins 與 RabbitMQ 集成(一) 中步驟配置過 RabbitMQ Consumer
的同學(xué)可以簡化這一步:新加一個(gè) Queue 用來接收 Jenkins 發(fā)送過去的 Message 就好竭沫,我新加的 Queue 名為 jenkins.build-poster.queue
。
新同學(xué)請參照如下步驟配置:
打開 Jenkins 主頁骑篙,進(jìn)入 Manage Jenkins -> Configure System
, 找到 RabbitMQ Consumer
, 選中 Enable consumer
蜕提,并配置好 Service URI
,Username
和Password
靶端, 然后點(diǎn)擊 Test Connection
是否可以與Rabbitmq通信谎势。
在 Queues
里點(diǎn)擊 Add
,加一個(gè) Queue 用來接收 Jenkins 發(fā)送過去的 Message 就好杨名,加一個(gè) Queue 用來接收 Jenkins 發(fā)送過去的 Message 就好脏榆,如下圖所示:
3. 配置 Jenkins Job
點(diǎn)擊左側(cè)的 Configure
,進(jìn)入配置頁面台谍,點(diǎn)擊 Post build actions
须喂,點(diǎn)擊add post build action
,在彈出的列表中選擇 Publish build result to RabbitMQ
然后配置對應(yīng)的 exchange name 和 routing key 就好趁蕊。
4. 配置 RabbitMQ
如果已經(jīng)按照 Jenkins 與 RabbitMQ 集成(一) 中步驟實(shí)踐過的同學(xué)已經(jīng)建好了名為 test.build-trigger.exchange
的 exchange 了坞生,只需要再新建一個(gè)名為 jenkins.build-poster.queue
的 queue,并將 test.build-trigger.exchange
與 jenkins.build-poster.queue
綁定介衔,routing key 設(shè)置為在 Jenkins 中配置的值恨胚,我配置的值為 test.build.poster
。
5. 測試驗(yàn)證
構(gòu)建你的 Jenkins 工程炎咖,構(gòu)建結(jié)束后赃泡,你就能在 RabbitMQ Management 中看到剛剛的構(gòu)建結(jié)果啦寒波,如下所示: