プライベートリポジトリ無料のCIサービス「Magnum CI」を使ってみた
CI(継続的インテグレーション)サービスまとめ・14個!では、BitBucketで使えるCIサービスを探していましたが、時が経てば事情は変わり、Githubのプライベートリポジトリで無料で使えるのが必要になったので、前に紹介した「Magnum CI」を試しました。
Magnum CIはプライベートリポジトリがいくつでもなぜか完全無料。Betaとも書いてないけど、アカウント設定にフリープランと記載があるので、将来的に有償プランをやる気はあるようです。
なお、今回はGithubのプライベートリポジトリを使いますが、Magnum CIはBitBucketでも使えます。それだけじゃなく、GitLab、Beanstalk(知らない。AWSのではないらしい)、 自分で立てたgit, mercurial, subversionでも使えます。
今回対象とするプロジェクトはRailsアプリなんですが、以下のようにリポジトリはRailsアプリそのままではありません。リポジトリホームのサブディレクトリのrailsディレクトリがRAILS_HOMEです。
そのせいで設定が多くなってしまっています。普通のRailsアプリなら設定ファイルにほとんど何も書かなくていいです。
repo_home ├── xxx ├── yyy └── rails
さて、設定していきましょう。
ログインして、プロジェクトを作成します。Rubyプロジェクトにしておきます。
初期セットアップのやり方が表示されます。
公開鍵を隠す必要はない気がするが、なんとなく。
web hookのURLとSSHの公開鍵が表示されるので、Githubに設定します。これでGithubにpushするとビルドが走ります。
キャプチャーはないけど、公開鍵もDeploy Keysに追加します。
ビルド設定に進みます。
ここにスクリプトを書くことも.magnum.yml
という設定ファイルに書いてgitに入れることもできます。
画面でスクリプトを書いて手動実行してちゃんと動くスクリプトを作ってから、.magnum.yml
に書いてpushするのがいいんじゃないかと思います。
.magnum.yml
はこんな感じ。
PostgreSQLの場合は、RAILS_ENV=testのときのユーザをpostgres、パスワードなしにしておけばrake db:create
でDBが作成できます。
なお、普通のRailsアプリそのままのリポジトリだったらたぶん何も書かなくても自動で実行してくれます。(詳しくはこちら)
ruby: 2.1.0 before_install: - cd rails install: - bundle install --path=vendor/bundle before_script: - bundle exec rake db:create - bundle exec rake db:migrate RAILS_ENV=test script: - bundle exec rspec spec/
動いた動いた。通知はHipChatなどにも流せます。
一安心と思いきや、致命的な問題が。。。
ビルドログがネットに公開されてるやん!
自分たちのはもう消してしまいましたが、こんな感じに。コミットメッセージもダタ漏れ。
https://magnum-ci.com/public/8e6f82b13dc3c05f3e53/builds
Google検索にも普通にヒットしてしまう。
プライベートリポジトリで使いたいのにビルドログやコミットログが公開されちゃったら意味ないので、MagnumCIはボツ。
だから無料なのかもしれません。将来の有償プランではここを隠せるとか。
中の人に言ったら直してくれたので、追加の記事書きました↓
プライベートリポジトリ無料のCIサービス「Magnum CI」のログを非公開にできるようしてくれました - atskimura-memo
ということで次はもう一つの無料CIサービス「Shippable」を試してみましたので、また記事を書きます。
追記
続き書きました!(2014/03/05 22:14)
Githubのプライベートリポジトリ1つ無料のCIサービス「Shippable」を使ってみた
Magnum CIの中の人から連絡がありました(2014/03/07 9:50)
@a_kimura Heads up: only public projects build logs are visible to public; private projects are hidden from search engines and outside world
— Magnum CI (@ci_magnum) 2014, 3月 5
と言われましたので、勘違いかなともう一度確認してみました。
Githubのプライベートリポジトリです。
Magnum CIのビルドページです。右上に「Create Account」となっていてわかる通りログインしていない状態です。
やっぱり見えちゃうけどなあ。
Dropboxのリンクの共有みたいなものかとも思うけども、URLの再発行もできそうにないし、noindexもついてないしな。Google検索にひっかかるかはインデックスされるまで待ってないからわからないけど。
とりあえず返事をしよう。
直してくれました!(2014-03-11 20:28)
中の人が直してくれたので、追加記事を書いて、本文を修正しました。
プライベートリポジトリ無料のCIサービス「Magnum CI」のログを非公開にできるようしてくれました - atskimura-memo