-
Notifications
You must be signed in to change notification settings - Fork 18
keepwork docker how to build
docker分布图
每个方块中的服务都运行在docker中(除了标红的一个)
涉及的机器包括 251, 252 两台服务器,这两台机器都需要提前安装
- docker(greater or equal 17.06)
- docker-compose(latest)
- 部署脚本KeepMonitor, 下面都默认脚本代码clone到用户目录
部署脚本中的./prequisite.sh
可以帮忙安装docker,docker-compose,目前仅适用于ubuntu
- 机器:251
建立目录,作为jenkins master的数据卷
mkdir -p /var/jenkins_home
(可选)如果是从其它jenkins迁移过来,先将其jenkins_home数据copy到/var/jenkins_home
启动jenkins服务
cd ~/KeepMonitor/master-ci
docker-compose up -d
初次运行,涉及到docker image的下载,可能有些慢
执行结束,访问 jenkins master, 判断服务是否成功
jenkins master的配置目录/var/jenkins_home非常重要,之中存储了所有jenkins的配置,做好备份,以后迁移到另外的机器非常方便
- 机器:251
调用部署脚本,生成registry密钥
cd ~/KeepMonitor/registry
./prequisite.sh
生成密钥有3个步骤
第一步,需要修改openssl.cnf文件,脚本会中断,询问是否已经修改过相应地方。yes会继续生成过程,no会中断过程。 修改openssl.cnf之后再来执行脚本
第二步,生成密钥,脚本自动完成。密钥会在当前目录的certs目录下,有domain.crt和domain.key,作为registry服务的准备
第三步,分发密钥,手动完成,任何想要和registry push/pull的主机都需要domain.crt(在这里是251,252两台主机都需要)
mkdir -p /etc/docker/certs.d/<host_ip>:5000/
cp -a ./certs/domain.crt /etc/docker/certs.d/<host_ip>:5000/ca.crt
密钥生成没问题之后,启动registry服务
cd ~/KeepMonitor/registry
docker-compose up -d
- 机器:251
因为nginx和两个server有link的关系,需要两个server服务先开启,nginx才可以开启
又因为目前两个server服务是由jenkins来启用的,如果没有代码提交的自动触发,先自先登陆 jenkins master,手动触发keepwork-dev-builder, keepwork-test-builder两个构建,启用两个server服务
-
机器:251
cd ~/KeepMonitor/reverse-proxy ./run.dev.test.sh
测试服务是否正常运行
添加如下两行到/etc/hosts文件
121.14.117.251 stage.keepwork.com
121.14.117.251 test.keepwork.com
用浏览器访问stage.keepwork.com和test.keepwork.com,网站是否正常运行
- 机器:252
启动slave
cd ~/KeepMonitor/slave-ci
docker-compose up -d
访问jenkins master,看keepwork-online结点状态,是否已经连接上
- 机器:252
线上服务器也由jenkins来触发启动,访问jenkins触发keepwork-online-builder,通过部署在252上的slave,完成线上服务器的更新