注: 本方案适合有 Node.js 二次开发能力的用户实践

Reliable Master 部署

Reliable 是 Node.js 实现的分布式持续集成服务。

为了快速上手 Reliable,我们推荐你使用 Docker 进行部署,这样就无需考虑 redis, mongodb 等第三方工具。

Macaca-Docker

环境要求

Note: 若采用 Docker 部署,则无需考虑 nodejs,redis 及 mongodb 版本

基本用法

git clone 下源代码后(windows系统建议直接下载压缩包格式或者在git clone之前执行git config –global core.autocrlf false,环境搭建完成后记得改回去),你可以使用 docker 和 docker-compose 来部署 reliable,步骤如下:

1) build reliable-docker-base 镜像:

  1. $ git clone https://github.com/reliablejs/reliable-docker-base --depth=1
  2. $ cd reliable-docker-base
  3. $ docker build -t="reliable-docker-base" .

运行 docker images,你可以看到 reliable-docker-base 镜像。

2) build reliable-master 镜像:

  1. $ git clone https://github.com/reliablejs/reliable-master --depth=1
  2. $ cd reliable-master
  3. $ docker build -t="reliable-master" .

运行 docker images,你可以看到 reliable-master 镜像。

3) 使用 docker-compose 启动:

  1. $ git clone https://github.com/reliablejs/reliable-macaca-docker-compose.git --depth=1
  2. $ cd reliable-macaca-docker-compose
  3. $ make start

编辑 docker-compose.yml 来配置你的 master。

  1. reliable-master:
  2. container_name: "reliable-master"
  3. restart: "UNLESS-STOP"
  4. image: reliable-master
  5. ports:
  6. - "${RELIABLE_MASTER_PORT}:${RELIABLE_MASTER_PORT}"
  7. links:
  8. - mongo:mongo
  9. - redis:redis
  10. environment:
  11. - DB_SERVICE=mongo
  12. - DB_PORT=27017
  13. - DB_NAME=reliable_dev
  14. volumes:
  15. - /etc/localtime:/etc/localtime:ro
  16. command: /reliable-master/bin/reliable-master server -p ${RELIABLE_MASTER_PORT} --verbose
  17. mongo:
  18. container_name: "reliable_mongo"
  19. restart: always
  20. image: mongo
  21. volumes:
  22. - /var/mongo/data/db:/data/db
  23. - /etc/localtime:/etc/localtime:ro
  24. redis:
  25. container_name: "reliable_redis"
  26. restart: always
  27. image: redis
  28. volumes:
  29. - /etc/localtime:/etc/localtime:ro

配置

relibale 的默认配置在 config.js 中,你可以用一个命名为 *.reliable.config.js 的文件覆盖默认配置,以下是一些可配置点:

注意: 不要试图更改 mongodb 和 redis 的配置项,因为 docker-compose 需要这些。 如果确实需要更改,请修改 docker-compose.yml
  • 服务端服务端设置,如端口等。
  • 网站一些个性化配置,如 title, baseurl 等。
  • 登录配置第三方 token,如 GithubGitlab
  • 邮件邮件服务配置,可参考 Nodemailer
小提示

Reliable 启动需要一些时间,请稍作等待。

添加管理员

在 reliable-master 中使用 make adduser 命令添加管理员用户(对于 docker container 可以使用 docker exec -it make adduser,下同)。

运行状态

在 reliable-slave 中使用 make status 获取 slave 运行状态。

数据备份

在 reliable-master 中使用 make dump 以从 MongoDB 中 dump 数据。

在 reliable-master 中使用 make restore 将数据重新存储至 MongoDB。

你也可以使用 crontab 备份数据。参考 scripts/cron.sh,自行配置后,添加到 crontab script 中。 如:

  1. $ crontab -e

可配置项:

服务集成

想要集成其它的服务如 Gitlab-CI 或 Jenkins?

POST macaca-host/api/task/create/gitlab-push.json 来创建任务。

更多信息,请查看 gitlab 文档。

截图

reliable-1

reliable-2

reliable-3

下一步

部署 slave

原文: https://macacajs.github.io/zh/master-deployment