thought一期项目-环境配置过程


安装ubuntu系统

  1. 点击并按步骤安装Ubuntu系统,并根据内容安装相应内容。
  2. ubuntu自带的中文真的大写尴尬,我选择下载搜狗输入法,可点击此处按照教程内容进行安装

安装镜像

  1. 拷贝images文件夹, 下载load-images.sh文件到images下面
  2. 执行load-images.sh脚本
    注:下载load-images.sh后可以看到images文件夹里的load-image.sh是白色的,绿色才是可执行的,所以在命令行输入$chmod 777 load-image.sh
    (7=4+2+1 4 可读 2 可写 1 可执行第一个7是用户的权限,第2个是用户组的权限,第3个是其他的权限 )
    然后就可以看到load-image.sh变成绿色的了,接着执行./load-image.sh

安装Docker

  1. 点击安装docker,按教程顺序执行
  2. 如果是64位机要注意的是步骤7,应该将
    deb https://apt.dockerproject.org/repo ubuntu-xenial main
    修改为
    deb [arch = amd64] https://apt.dockerproject.org/repo ubuntu-xenial main
    因为这里默认是32位机。
  3. 如果所有步骤正确执行,最后一步会输出hello Docker
  4. 这里要注意的是,安装docker后,执行docker命令是要用sudo权限的,执行以下3条命令可以解决此问题:
$ sudo groupadd docker 
将当前用户加入docker组

$ sudo gpasswd -a ${USER} docker

$ sudo service docker restart
重新启动docker服务

安装Docker compose

  1. 点击官网按步骤安装Docker compose
  2. 下载的过程可能比较慢,也可以找下载好的小伙伴拷贝docker compose 可执行文件文件到 ubuntu的compose-> usr -> local -> bin 下面任意目录下执行:$ chmod +x /usr/local/bin/docker-compose

clone代码并配置环境

  1. clone代码,根据readme执行
$ git submodule init
$ git submodule update
$ git pull
$ git status
$ git submodule update
  1. 修改hosts文件
    进入hosts文件,另起一行添加127.0.0.1 local.twars
  2. 进入assembly,执行以下命令
$ docker-compose up -d mysql  //启动mysql
$ docker ps  //查看当前运行的容器
$ ./twars.sh ls  //查看数据库的初始化文件
$ ./twars.sh my  //初始化数据库和用户
  1. 进入paper-api执行以下命令
$ ./gradlew tasks
$ ./gradlew flywaymigrate

这个时候执行docker ps就可以看到容器中正在运行的服务,找到mysql的容器名或容器id,执行docker psdocker exec -it 容器名/id bash
就会进入mysql数据库,然后执行:

$ mysql -u root -pthoughtworks
$ show databases;  //查看数据库
$ use BronzeSword  //切换到BronzeSword数据库
$ show tables  //查看数据库中的表

上述过程如果结果正常输出即可输入exit退出

  1. 进入assembly下执行以下命令
$ ./twars.sh rs  //如果提示说没有权限那就加上sudo
$ ./twars.sh jk  //需要真正翻墙才可以执行成功
  1. 切换至web-api目录下,打开app.js,注释下面两行代码
var captcha = require('./middleware/captcha');
app.use(captcha(params));
  1. 切换至assembly下
  • 继续执行docker-compose up -d或者docker-compose up -d web-api接着执行docker ps
  • 如果你看到8个容器,直接进入步骤8进行操作
  • 如果发现7个容器(node没有启动),就查看一下web-api的日志,docker logs assembly_web-api_1(这里的assembly_web-api_1是web-api对应的容器名)
  • 假如执行后后出现Error: Cannot find module 'newrelic'…等等缺少模块的错误,切换至web-api目录下,执行npm i,这里友情提醒一下,一定要用npm,不要用cnpm之类的,这是个坑,你会发现后续执行所有命令都没毛病,然而就是会出现奇奇怪怪的问题!
  • 如果你实在觉得npm安装的太慢,执行npm config set registry https://registry.npm.taobao.org进行换源出来,然后,继续使用npm进行安装
  • 回到assembly下重新执行:
$ ./twars.sh rs
$ docker-compose up -d
$ docker ps -a
  • 此时应该可以看到node的status是 Up X seconds
  1. 继续在assembly目录下
  • 执行docker exec -it assembly_web-api_1 bash进入web-api容器
  • 执行cd /var/app/到达此目录下执行以下命令:
$ npm uninstall canvas
$ npm install canvas
  • 如果npm install canvas出错可尝试修改assembly/twars.sh中将JENKINS_ADDR=192.168.99.100:8088改为JENKINS_ADDR=local.twars:8088
  • 安装成功会出现** canvas@1.5.0 invalid **,Ctrl+D退出然后去到web-api/app.js中,找到之前注释的内容,去掉注释!
  1. 回到assembly目录下
  • docker ps 查看node:5.8是否up,如果node没有终止就执行docker-compose kill web-api
  • 执行docker-compose up -d
  1. 打开浏览器
  • 访问http://localhost:8888/,在首页点击注册查看验证码是否成功显示。
  • 填写相关信息进行注册,当然,现在还不能成功注册
  1. 回到项目下
  • 不能成功注册是因为mongo的twars数据库中不存在configurations表,也不存在相关记录
  • 执行docker exec -it assembly_mongo_1 bash进入mongo容器
  • 执行mongo开启数据库
  • show dbs查看数据库
  • use twars切换到twars数据库
  • show collections查看表可以看到没有configurations表
  • db.createCollection("configurations")创建configurations表
  • db.configurations.insert({"registerable":true,"qaContent":""})向表中插入数据
  1. 重启Docker
$ service docker stop   
$ service docker start
$ docker-compose up -d
  1. 重新注册账号
  • 访问http://localhost:8888/注册账号
  • 补全信息后点击开始答题,这时会发现题出来了,图出不来
  1. 让图片重出江湖
  • >web-api>config>config.yml文件下,修改31行的代码为staticFileServer: 'http://127.0.0.1:8888/fs/'
  • 哦啦,就酱紫~~
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,921评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,635评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,393评论 0 338
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,836评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,833评论 5 368
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,685评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,043评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,694评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 42,671评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,670评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,779评论 1 332
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,424评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,027评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,984评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,214评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,108评论 2 351
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,517评论 2 343

推荐阅读更多精彩内容