2017年5月8日月曜日

[CI] Bitrise 始めました



今回も CI サービスの紹介でございます。
今回は「Bitrise」です。

http://devcenter.bitrise.io/
In short Bitrise is a Continuous Integration and Delivery (CI/CD) Platform as a Service (PaaS) with a main focus on mobile app development (iOS, Android, Xamarin, ...).

こちらに書かれているように Bitrise はモバイルをメインターゲットとした CI/CD サービスです。
今回、iutest では CMake で生成した Xcode プロジェクトをビルド(テスト)する CI サービスとして利用を開始しました。

このブログで紹介するということは、もちろんフリープランが存在します。


200ビルド/月、10分/ビルド、と少し制限厳し目ですが、iutest で使う分にはなんとかなりそうです。

Sign up
では、早速 Sign up しましょう。
「Start building for free」ボタンを押すと、まずは以下のようなアカウント登録画面が表示されます。
通常のメールアドレスの他、Github,Bitbucket,GitLab アカウントが選択できますので、お好きなものを選択してください。



続いて、簡単なアンケートが出ます。答えても答えなくても OK です。


次にパスワード設定をします。Github などのアカウントを利用した場合でも必須のようです。


これで登録完了です。


app 追加
Sign Up できたので早速ジョブ(app)を作っていきましょう。
「+Add first app」ボタンをクリックすると、リポジトリ選択画面になります。
目的のリポジトリを選択してください。


次はリポジトリアクセス設定です。
iutest では 「AUTOMATIC 」、 「No, auto-add SSH Key」としました。必要に応じて変更してください。


つづいて、セットアップの検証が行われます。
対象ブランチを選択して「Next」を押します。


検証が始まるので待ちます。


検証が終わるとビルドコンフィグが開きます。

Xamarin が選ばれてますが、おそらく Visual Studio の .sln ファイルを検出したからでしょう。
ただ、iutest は Xamarin 使ってません。ここは「MANUAL」で設定をします。

今回は、Xcode ビルド(とテスト)をしたいので、「macOS」とか「iOS」を選択したいところですが、プロジェクトファイルや Scheme を要求されるため、「OTHER/MAUNUAL」から「Xcode on macOS」な Stack を選択して次へ。



最後に Webhook 設定をします。
特に理由がなければ、「Register」で良いと思います。Push and PR が Bitrise に通知されます。


これで、作成完了です!


ワークフローを作成する
Bitrise では Workflow で処理を記述します。

Workflow タブをクリックすると Editor が開きます。




既存のステップがたくさんありますが、Script を使うと bash script ので目的にあったステップがない場合は、これを使えばなんとかなると思います。



フローが完成したら、SAVE ボタンを押して保存しましょう。
※ ちなみに、ワークフローは複数作成でき、master のときは A 、 develop のときは B のようなこともできますし、
ワークフロー同士をつなげることもできます。


特定ブランチを除外する
デフォルトの設定だとすべてのブランチを対象にワークフローが始まるようになってますが、特定のブランチは CI したくない場合(iutest の場合は gh-pages)は、「Workflow Editor」の「Triggers」から設定を変更できます。
Push / PR / Tag それぞれにトリガーの設定が可能で、ここでどのワークフローと連結するかも設定できます。

※ exclude 指定ができると良かったのですが…

バッジ
最後にお約束のバッジです。
バッジは「Dashboard」の上の方にある「バッジ」をクリックすると Markdown などのテキストが取得できます。




最後に
今回 iutest では CMake + Xocde build のために Bitrise を使いました。
これであれば正直 Bitrise じゃなくてもできます。(Travis CI や Circle CI は Mac OS ワーカーを使えたはず)

ただ、最初にも書いたように Bitrise はモバイルアプリをメインターゲットにしているので、
それらの開発をしている方は一度試してみてはいかがでしょうか?
きっと、他の CI サービスにはない旨味があるのではないでしょうか。

今回は以上です。では。

0 件のコメント:

コメントを投稿