注: 本方案适合有 Node.js 二次开发能力的用户实践
Reliable Master 部署
Reliable 是 Node.js 实现的分布式持续集成服务。
为了快速上手 Reliable,我们推荐你使用 Docker 进行部署,这样就无需考虑 redis, mongodb 等第三方工具。
环境要求
- git >= 2.0
- docker >= 1.9.1
- docker compose >= 1.5.2
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
镜像:
$ git clone https://github.com/reliablejs/reliable-docker-base --depth=1
$ cd reliable-docker-base
$ docker build -t="reliable-docker-base" .
运行 docker images
,你可以看到 reliable-docker-base
镜像。
2) build reliable-master
镜像:
$ git clone https://github.com/reliablejs/reliable-master --depth=1
$ cd reliable-master
$ docker build -t="reliable-master" .
运行 docker images
,你可以看到 reliable-master
镜像。
3) 使用 docker-compose 启动:
$ git clone https://github.com/reliablejs/reliable-macaca-docker-compose.git --depth=1
$ cd reliable-macaca-docker-compose
$ make start
编辑 docker-compose.yml
来配置你的 master。
reliable-master:
container_name: "reliable-master"
restart: "UNLESS-STOP"
image: reliable-master
ports:
- "${RELIABLE_MASTER_PORT}:${RELIABLE_MASTER_PORT}"
links:
- mongo:mongo
- redis:redis
environment:
- DB_SERVICE=mongo
- DB_PORT=27017
- DB_NAME=reliable_dev
volumes:
- /etc/localtime:/etc/localtime:ro
command: /reliable-master/bin/reliable-master server -p ${RELIABLE_MASTER_PORT} --verbose
mongo:
container_name: "reliable_mongo"
restart: always
image: mongo
volumes:
- /var/mongo/data/db:/data/db
- /etc/localtime:/etc/localtime:ro
redis:
container_name: "reliable_redis"
restart: always
image: redis
volumes:
- /etc/localtime:/etc/localtime:ro
配置
relibale
的默认配置在 config.js 中,你可以用一个命名为 *.reliable.config.js
的文件覆盖默认配置,以下是一些可配置点:
注意: 不要试图更改 mongodb 和 redis 的配置项,因为 docker-compose 需要这些。 如果确实需要更改,请修改 docker-compose.yml。
- 服务端服务端设置,如端口等。
- 网站一些个性化配置,如 title, baseurl 等。
- 登录配置第三方 token,如 Github,Gitlab。
- 邮件邮件服务配置,可参考 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 中。 如:
$ crontab -e
可配置项:
- home - 当前用户 home 目录。
- repo -
reliable
项目文件夹。 - url - 获取 slave 信息的链接,
http://<hostname>:<port>/slaves
,如http://localhost:3333/slaves
。
服务集成
想要集成其它的服务如 Gitlab-CI 或 Jenkins?
POST macaca-host/api/task/create/gitlab-push.json
来创建任务。
更多信息,请查看 gitlab 文档。
截图
下一步
部署 slave