一期考試系統(tǒng)環(huán)境配置

安裝Docker

Hello from Docker!
#安裝成功后看到這句即可

安裝Docker-compose

  • 命令行如下順序執(zhí)行
$ curl -L https://github.com/docker/compose/releases/download/1.8.0/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
$ chmod +x /usr/local/bin/docker-compose
$ docker-compose --version
docker-compose version: 1.8.0
  • 執(zhí)行這幾行命令匀谣,使用 Docker時(shí) 不用加sudo
$ sudo groupadd docker
#將當(dāng)前用戶加入docker組
$ sudo gpasswd -a ${USER} docker
$ sudo service docker restart

克隆一期源碼

  • 選擇好目錄執(zhí)行
$ git clone git@github.com:thoughtworks-academy/recruiting-system.git
$ git submodule init
$ git submodule update

開始環(huán)境配置

  • 打開hosts文件听盖,單獨(dú)一行添加
    127.0.0.1 local.twars

  • 進(jìn)入assembly集灌,按順序執(zhí)行

$ docker-compose up -d mysql
assembly_mysql_1 is up-to-date
$ docker ps
#查看當(dāng)前運(yùn)行的容器,出現(xiàn)mysql:5.7即可
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                    NAMES
6827bb303f9e        mysql:5.7           "/entrypoint.sh mysql"   19 hours ago        Up About an hour    0.0.0.0:3306->3306/tcp   assembly_mysql_1
$ ./twars.sh
========= TWARS ===========

  0--0^^^^^^^^^^^^\________
  \__/||-------||---------~
        ``        ``

- 用法:(jk|rjk|bkjk|my|rs)
command:
jk 初始化jenkins
rjk 更新jenkins
my 初始化數(shù)據(jù)庫和用戶
rs 重啟所有服務(wù)
bkjk 備份jenkins
$ ls
#查看數(shù)據(jù)庫的初始化文件
assemble.sh*  conf/               docker-compose-prod.yml  logo            nginx/   production.env  remote_script  twars-jenkins/
ci/           deploy-jenkins.sh*  docker-compose.yml       mysql-init.sql  nodejs/  readme.md       test.env       twars.sh*
$ ./twars.sh my
#輸入密碼`"thoughtworks"`初始化數(shù)據(jù)庫和用戶
the password of root:
|
  • 進(jìn)入paper-api下按順序執(zhí)行
$ ./gradlew tasks 

到這步你就可以去吃個(gè)飯了漓骚,因?yàn)椴皇且话愕穆?/p>

$ ./gradlew flywaymigrate
$ docker ps

再次查看當(dāng)前運(yùn)行哪些容器懒叛,至少應(yīng)該有mysql

$ docker exec -it `容器名/ID` bash
#此時(shí)的容器名應(yīng)是 assembly_mysql_1
$ mysql -u root -pthoughtworks
mysql: [Warning] Using a password on the command line interface can be insecure.
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 19
Server version: 5.7.11 MySQL Community Server (GPL)
Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql>
$ show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| BronzeSword        |
| mysql              |
| performance_schema |
| sys                |
+--------------------+
5 rows in set (0.00 sec)
$ use BronzeSword
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
Database changed
$ show tables;
+------------------------+
| Tables_in_BronzeSword  |
+------------------------+
| blankQuiz              |
| blankQuizSubmit        |
| homeworkPostHistory    |
| homeworkQuiz           |
| homeworkSubmit         |
| itemPost               |
| loginDetail            |
| paper                  |
| passwordRetrieveDetail |
| quizItem               |
| schema_version         |
| scoreSheet             |
| section                |
| sectionQuiz            |
| thirdParty             |
| userDetail             |
| users                  |
+------------------------+
17 rows in set (0.01 sec)
$ exit
#退出mysql
  • 再次進(jìn)入assembly下按順序執(zhí)行
$ ./twars.sh rs 

如果提示說沒有權(quán)限那就加上sudo,然后就又可以去吃頓飯了

  • 執(zhí)行成功后訪問localhost:8888,可看到登錄頁面,但沒有驗(yàn)證碼,如下圖
初期圖
  • 切換到web-api下
$ gedit app.js

//注釋這兩行內(nèi)容
var captcha = require('./middleware/captcha');
app.use(captcha(params));

  • 切換到assembly下繼續(xù)執(zhí)行
$ docker-compose up -d
assembly_mongo_1 is up-to-date
assembly_mysql_1 is up-to-date
assembly_ambassador_1 is up-to-date
assembly_paper-api_1 is up-to-date
assembly_jenkins_1 is up-to-date
assembly_nginx_1 is up-to-date
Starting assembly_web-api_1
  • 切換web-api下執(zhí)行
$ npm i
  • 切換到assembly下
$ docker ps -a
#查看隱藏的沒有啟動(dòng)起來的容器
$ docker exec -it assembly_web-api_1 bash
root@ac59478f305a:/#
#輸入 cd /var/app/
$ npm uninstall canvas
npm info it worked if it ends with ok
npm info using npm@3.7.3
npm info using node@v5.8.0
npm info ok 
$ npm install canvas
Ctral+d
#退出
  • 取消之前在web-api/app.js中注釋掉的兩行
  • 切換至assembly下
$ docker ps
#查看node : 5.8 是否是 up

如果是up 則執(zhí)行這行命令

$ docker-compose kill web-api
$ docker-compose up -d
  • 再次訪問localhost:8888,看到驗(yàn)證碼出現(xiàn)即成功沫勿,如下圖
配置成功后的圖

你會(huì)發(fā)現(xiàn)注冊(cè)會(huì)顯示錯(cuò)誤挨约,接著執(zhí)行一下步驟

  • 切換至web-api下,順序執(zhí)行
$ docker ps
$ docker exec -it 'mongo容器名/ID' bash
$ mongo
$ show dbs
$ use twars
$ db.createCollection('configurations');
$ db.configurations.insert({"registerable":true,"qaContent":""});

注冊(cè)成功會(huì)后即可跳轉(zhuǎn)至個(gè)人中心界面

  • 修復(fù)不能顯示圖片的問題
    修改recruiting-system/web-api/config/config.yml里面的test屬性的值為127.0.0.1

staticFileServer: 'http://127.0.0.1:8888/fs/'

  • 切換到assembly
$ docker-compose kill web-api
$ docker-compose up -d

即可看到成功加載出來的圖片

圖片加載成功
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末味混,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子诫惭,更是在濱河造成了極大的恐慌翁锡,老刑警劉巖,帶你破解...
    沈念sama閱讀 217,542評(píng)論 6 504
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件夕土,死亡現(xiàn)場離奇詭異馆衔,居然都是意外死亡瘟判,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,822評(píng)論 3 394
  • 文/潘曉璐 我一進(jìn)店門角溃,熙熙樓的掌柜王于貴愁眉苦臉地迎上來拷获,“玉大人,你說我怎么就攤上這事减细〈夜希” “怎么了?”我有些...
    開封第一講書人閱讀 163,912評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵未蝌,是天一觀的道長驮吱。 經(jīng)常有香客問我,道長萧吠,這世上最難降的妖魔是什么左冬? 我笑而不...
    開封第一講書人閱讀 58,449評(píng)論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮纸型,結(jié)果婚禮上拇砰,老公的妹妹穿的比我還像新娘。我一直安慰自己绊袋,他們只是感情好毕匀,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,500評(píng)論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著癌别,像睡著了一般皂岔。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上展姐,一...
    開封第一講書人閱讀 51,370評(píng)論 1 302
  • 那天躁垛,我揣著相機(jī)與錄音,去河邊找鬼圾笨。 笑死教馆,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的擂达。 我是一名探鬼主播土铺,決...
    沈念sama閱讀 40,193評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢(mèng)啊……” “哼板鬓!你這毒婦竟也來了悲敷?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,074評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤俭令,失蹤者是張志新(化名)和其女友劉穎后德,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體抄腔,經(jīng)...
    沈念sama閱讀 45,505評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡瓢湃,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,722評(píng)論 3 335
  • 正文 我和宋清朗相戀三年理张,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片绵患。...
    茶點(diǎn)故事閱讀 39,841評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡雾叭,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出落蝙,到底是詐尸還是另有隱情拷况,我是刑警寧澤,帶...
    沈念sama閱讀 35,569評(píng)論 5 345
  • 正文 年R本政府宣布掘殴,位于F島的核電站赚瘦,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏奏寨。R本人自食惡果不足惜起意,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,168評(píng)論 3 328
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望病瞳。 院中可真熱鬧揽咕,春花似錦、人聲如沸套菜。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,783評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽逗柴。三九已至蛹头,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間戏溺,已是汗流浹背渣蜗。 一陣腳步聲響...
    開封第一講書人閱讀 32,918評(píng)論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留旷祸,地道東北人耕拷。 一個(gè)月前我還...
    沈念sama閱讀 47,962評(píng)論 2 370
  • 正文 我出身青樓,卻偏偏與公主長得像托享,于是被迫代替她去往敵國和親骚烧。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,781評(píng)論 2 354

推薦閱讀更多精彩內(nèi)容

  • 林老師給我們每個(gè)入職TW的童鞋都帶來一套升級(jí)computer配置的裝備(固態(tài)硬盤SSD闰围,8G內(nèi)存條)開心赃绊!but ...
    吧啦啦小湯圓閱讀 303評(píng)論 0 0
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn)辫诅,斷路器凭戴,智...
    卡卡羅2017閱讀 134,656評(píng)論 18 139
  • 沒有了葡萄架涧狮,還能不能聽得到牛郎織女的悄悄話炕矮? 天上那么多星星么夫,是散落的銀河嗎? 我也想變成一顆肤视,一直在的一顆档痪, ...
    鄭雪瑩閱讀 183評(píng)論 0 0
  • 迷茫是一個(gè)很沒勁的詞,唯一的價(jià)值就是表達(dá)出自己的狀態(tài)邢滑,我一發(fā)現(xiàn)這樣一次談話機(jī)會(huì)是他匯報(bào)得出的結(jié)果腐螟,我就不爽,因?yàn)檫@...
  • 我坐在倒走的火車上困后,就這樣安靜地看著窗外的原野與樹林慢慢退去乐纸;想想想想,如果有一天摇予,我可以再一次站在你身邊汽绢,我們會(huì)...
    愛看星空的無牙閱讀 209評(píng)論 0 0