Strider On Ubuntu

用 Ubuntu 去 build Strider 的過程中,會有機會遇到一些問題。

這些問題在 Strider Github 首頁上都有提到。

比較詳細的解法可以去參考他的 Github issue。

安裝環境說明前置知識:

  • 環境 Ubuntu 14.10
  • mongodb
    Stider 預設的DB,且此篇是以 docker 架設 mongodb。
  • docker
    docker 相關指令,請自行補足。

問題一 Strider 安裝不能

解法分別在:

  • Issues 606 安裝 nodejs-legacy 而不是 nodejs
  • Issues 650 設定 npm prefix sudo npm config set prefix ~/npm
Ubuntu Installlink
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
sudo useradd -s /bin/bash -m -d /home/strider -c "strider" strider
sudo usermod -aG sudo strider

# Add password for strider
sudo passwd strider

sudo su strider
sudo apt-get update && sudo apt-get -y upgrade
sudo apt-get install -y nodejs-legacy npm git docker.io

# https://github.com/Strider-CD/strider/issues/650
sudo npm config set prefix ~/npm

# strider installed at ~/npm/bin/strider
npm install -g strider

問題二 Strider Ver 1.6 的問題

解法,加入環境變數

1
export NODE_ENV=production

問題三(Optional) 執行 Docker runner

把在 /etc/init/docker.confDOCKER_OPTS 進行修改。

/etc/init/docker.conf
1
DOCKER_OPTS='-H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock'

修改完之後,再將 docker 重啟。

1
service docker restart

然後在 strider 啟動後,再到 docker runner plugin 內。填入 http://0.0.0.0:2375

1
2
3
4
5
6
7
8
9
10
11
12
13
14
# Pull mongo 2.6.7 docker image
sudo docker pull mongo:2.6.7

# Run MongoDB with Docker
sudo docker run -d \
-p 27017:27017 \
--name mongo \
mongo:2.6.7

# Add user
~/npm/bin/strider addUser -l foo@example.com -p supersecret -a

# Run Strider
~/npm/bin/strider

如果再不行的可以在執行 strider 之前嘗試加入下面的環境變數

1
2
3
export DOKCER_HOST=http://0.0.0.0:2375
export DOKCER_IP=0.0.0.0
export DOKCER_PORT=2375