ラベル ci の投稿を表示しています。 すべての投稿を表示
ラベル ci の投稿を表示しています。 すべての投稿を表示

2014/05/29

drone.io を試してみた

普段は Travis CI で CI を回してるんだけど、drone.io もよいという話なのでちょっと試してみた。

作業の流れ

右上の New Project を選んで
リポジトリを選択。Github の他に BitBucket と Google code にも対応している。
ビルドしたいリポジトリを選んで
言語を選択。Ruby はまだ beta らしい。
ビルドスクリプトを設定する。シェルスクリプトを書けばいい感じかな?
基本形ははじめから入力されているので、このまま行ける。
更に周辺の設定を追加して Save → Build Now
ビルドが開始して、
結果が表示される。
こんな割と簡素なメールが飛んでくる。
README.md などに貼るバッジも用意されている。

気になったとこ・所感

Rubyのバージョンは現時点では3つしかなく、Ruby2.1.0以降はまだない。
それから、言語のバージョンがひとつしか設定できないので、Travisのようなマルチバージョンでのテストができないっぽい。どっかから設定できるのだろうか?
ビルドの速度は速い気がする。golangだからか?
ビルドスクリプトはわりと何でも出来そうなので、シェルスクリプト書けるならかなり柔軟性がありそうだ。
設定ファイルをリポジトリに置かないのは余計なものを置かなくていいし、ブラウザ上で完結するので便利だけど、皆で知見を共有しづらいのじゃないかな?

言語のバージョンと環境変数のマトリクスが Travis の一番の魅力なので、それが簡単に出来ないならばあまり切り替える魅力は今のところないかなぁ
ほんとに軽く触っただけなので、こうすればいいよとかあったら是非教えて下さい。

2013/11/23

Redmine のプラグインを Travis で CI してみた

Redmine のプラグインの場合、プラグイン本体のみ Github に登録しているので、そのままでは Travis で CI することができない。
諦めていたんだけど、.travis.yml のオプションとにらめっこしたらなんとなく出来そうな気がしたので試してみた。
10数回の試行を経て、なんとか出来たのでスクリプトを紹介します。

  • .travis.yml
    before_install があるので、after_install があるかと思ったらなかった。

  • before_install.sh
    gem インストール前に実行させるスクリプト。
    Travis では bundle install 前に直下の GemfileBUNDLE_GEMFILE 環境変数に登録されてしまう。
    しかし、指定したいのはプラグインの Gemfile ではなく、Redmine のものなのである。
    なので、mv しまくりでなんとかディレクトリ構成を整えた。苦労した。
    Redmine のダウンロード URL がバージョンだけに依存してくれないのが少し残念。

  • exec_test.sh
    テスト実行用スクリプト。
    前述のとおり after_install がなかったので、bundle install 後の処理(Redmineの初期化など)とテストの実行を同時にすることにした。
    こちらはそんなに苦労しなかった。

これで、プラグインを複数バージョンの Ruby でテストすることができるようになった。
でも、複数バージョンの Redmine でテストすることは当然できない。
複数バージョンの Redmine を対象にテストするなら Jenkins 使うのがいいんだろうな。