使用 docker-compose 启动 rabbitmq 服务
cd rabbitmq
docker-compose up
等待 rabbitmq 服务运行后,访问 http://localhost:15672 登录 rabbitmq 管理界面。帐号、密码可以从 rabbitmq/docker-compose.yml
中获得。
在 rabbitmq 管理界面中可以查看 Connections, Channels, Exchanges, Queues 等信息。
-
安装
npm install -g mq-deployer
-
运行服务,监听 rabbitmq 服务端的消息
## 运行 config.sample.yml 中定义的服务队列,用于监听 rabbitmq 服务端的消息 mq-deployer start config.sample.yml
-
发送消息
## 向 rabbitmq 发送一个部署包消息并等待服务队列完成部署 ## 消息内容为 JSON 字符串 { "packageUrl": ".../xxx.tar.gz" } ## 目前仅支持处理 tag.gz 包 mq-deployer send \ --uri amqp://admin:5IOdXo12V87F5aD4yiIGZd8R000oCuL6@localhost:5672/%2F \ --exchange test \ --router com.project-a \ "{\"packageUrl\": \".../xxx.tar.gz\"}"
-
配置mq-deployer.yml
# mq-deployer consumer config uri: amqp://admin:5IOdXo12V87F5aD4yiIGZd8R000oCuL6@localhost:5672/%2F exchange: test tasks: - name: project-a destination: /tmp/mq-deployer router: com.project-a - name: project-b destination: /tmp/mq-deployer router: com.project-b
2、配置pm2.yml
- 由于自身启动服务关闭窗口后服务也就关闭了,因此建议使用node进程启动服务,例如 pm2.
# 安装pm2
npm install -g pm2
# pm2.yml
- name: mq-deployer // 应用名称
script: mq-deployer-start // 实际启动脚本
args: ./config.sample.yml // 传递给脚本的参数组成的字符串或字符串数组。
watch: . //监控变化的目录,一旦变化,自动重启
merge_logs: true
log_date_format: YYYY-MM-DD HH:mm Z
pm2 start pm2.yml -- mq-deployer.yml
pm2 list