require `らくがき帳`

http://blacks-g.github.io/

Docker + Drone で Nodeをテストしたメモ

Droneのオープンソース版が出たということで、試してみた


1. Dockerをインストール

公式ページを参考にインストール

[メモ] sudo を使わないで良いように、ユーザーをdockerグループに追加した

2. DockerにNodeをインストール

docker pull bradrydzewski/node:0.10

これでimage: node0.10でNodeを使える

3. Droneをインストール

Githubを参考にインストール

[メモ] ureadahead will be reprofiled on next reboot と言われた

4. Droneにユーザーをインストールする

まず、ブラウザからhttp://#{アドレス}/installでインストールする。

次に、Githubにアプリケーションを作成し、APIKeyなどを入力しフックできるようにする。

これは指示通りやってればわかる

5. .drone.ymlを編集

Nodeに合わせて修正

一部グローバルインストールしている。

[メモ] ちなみにsudoは要らない

image: node0.10
script:
  - npm install
  - npm install -g grunt-cli coffee-script
  - npm test

6. GithubにPushしてみる

Failedする。原因はdial tcp 0.0.0.0:4243: connection refused

[メモ] dockerをTCPで待ち受けるようにしないといけないらしい

7. Dockerを4243ポートで起動する

sudo docker -H 0.0.0.0:4243 -d でデーモン化して起動する

[メモ] ついでに、4243番ポートにTCPを許可する sudo ufw allow 4243/tcp

再度GithubにPushしてみる

動いた!

Build Status

感想

CI結果を通知したり、プライベートリポジトリをCIするのに便利。あと真っ白なところからインストールしてるので、通ればそのまま本番環境にデプロイしても安心な感。プロダクション環境に送る前のステージング環境として使うのがベストなのかな?と思っている。

今後もっと深く使っていきたい