もくもくブログ

メモに近い。記事の正確性には期待をしないでください。

Follow me on GitHub

自動化処理を楽にしてくれるCIライブラリfastlaneを導入する

目的

CI実装をできるだけ楽にするためのライブラリ、fastlaneを紹介します。

fastlaneとは

ビルド自動化システムです。
2017年にgoogle傘下となりました。
https://krausefx.com/blog/fastlane-is-joining-google

メンテナンスされていないライブラリを利用することは隙ではないのですが、
google傘下であり、今もなお活発に開発が行われているのである程度安心して使用しています。

なぜfastlaneなのか

  • CI実装にしばしば利用される基本的機能がまとまっているため
    • Ci実装をする場合、典型的な処理を書くことは避けたいです。
      • ゲームを面白くするための実装ではないので
    • 機能例
  • Actionを簡単に定義することできる。拡張の敷居が低い
    • 例えばHelloWorldを出力するだけのActionは以下のように定義できます。
      • fastlaneを導入することでプロジェクトの仕組みがfastlane専用となる点が少ないため、もしも別のツールを使いたくなった場合でも、比較的簡単に移行ができることが予想されます。
lane :test do
  p 'Hello World Fastlane'
end
  • ログの可読性が高い
    • fastlane summary としてActionごとの経過時間も表示してくれるため、CI実装では重要となる処理時間も簡単にわかります。
      img01.png
  • Rubyを用いて実装ができる
    • fastlaneはrubyライブラリです。
    • 通常、Jenkinsではgroovy,GithubActionsではShellScriptを利用しますが、これらの言語よりも表現力があります。
      • Rubyのため、比較的雑に記載しても動作します。直感的に実装を行う事ができます。
    • GithubActions/Jenkinsからfastlaneを呼び出すことを徹底すれば、異なるCIサービス間の処理を共有することが容易となります。

fastlaneインストール方法

詳細は公式ドキュメントを見ていただいたほうがよいです。

https://docs.fastlane.tools/

かなり簡単に記載すると、Gemfileに gem "fastlane" を追加した後に、 bundle install を叩くことで利用可能です。

終わりに

CIはデバッグも大変なので、できるだけ楽に実装したいところです。
そこでfastlaneを使用することをおすすめします。