Giter VIP home page Giter VIP logo

mq-deployer's Introduction

mq-deployer部署

在本地启动一个用于测试的 rabbitmq 服务

使用 docker-compose 启动 rabbitmq 服务

cd rabbitmq
docker-compose up

等待 rabbitmq 服务运行后,访问 http://localhost:15672 登录 rabbitmq 管理界面。帐号、密码可以从 rabbitmq/docker-compose.yml 中获得。

在 rabbitmq 管理界面中可以查看 Connections, Channels, Exchanges, Queues 等信息。

mq-deployer

安装 & 使用

  1. 安装

    npm install -g mq-deployer
  2. 运行服务,监听 rabbitmq 服务端的消息

    ## 运行 config.sample.yml 中定义的服务队列,用于监听 rabbitmq 服务端的消息
    mq-deployer start config.sample.yml
  3. 发送消息

    ## 向 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\"}"

    1.png

配置mq-deployer consumer

  1. 配置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

运行mq-deployer.yml,启动mq服务

pm2 start pm2.yml -- mq-deployer.yml

查看服务是否启动

pm2 list

a.png

参考资料

mq-deployer's People

Contributors

cqq151314 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.