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