fastlane とは|iOS・Android の提出作業を自動化する無料ツール
fastlane は、iOS・Androidアプリのスクリーンショット撮影・ベータ配布・ストアへの提出を自動化できる、無料・オープンソースのツールです。
- 分類
- ビルド・配信・ストア提出の補助
- 日本語対応
- 日本語非対応
- 費用
- 完全無料(オープンソース)
- 公式サイト
- https://fastlane.tools/確認日 2026-09-18
fastlane の概要
fastlane は、Android・iOSアプリのビルドとリリース作業を自動化する、オープンソースのツールです。700人を超えるコントリビューターが開発に参加しています。
fastlane は、スクリーンショットの作成、コード署名(アプリが本人のものであることを示す電子的な署名)の扱い、アプリの公開といった手間のかかる作業を引き受けます。
fastlane の特徴
fastlane が自動化すること
手順は Fastfile というファイルに「レーン」として書きます。たとえば、ベータ配布のレーンと App Store 公開のレーンの2つを定義すると、fastlane release の1行で公開まで進めます。
| レーンの例 | 中に並ぶ動き |
|---|---|
| beta | ビルド番号の繰り上げ → アプリのビルド → TestFlight への提出 |
| release | スクリーンショットの撮影 → アプリのビルド → App Store への提出 → 連絡 |
動き(アクション)は種類ごとに分かれており、区分には次のものなどがあります。
| 区分 | 何をする動きか |
|---|---|
| Testing | テストの実行、カバレッジの報告、コードの検査 |
| Building | アプリのビルド |
| Screenshots | 各言語・各端末向けのスクリーンショットの撮影 |
| Project | プロジェクトの設定の書き換え |
| Code Signing | 証明書とプロビジョニングの扱い |
| Beta | ベータ配信サービスへの提出 |
| Releasing your app | ストアへの提出 |
| Source Control | コードを置く場所との連携 |
| Notifications | 結果の連絡 |
| App Store Connect | Apple の管理画面との連携 |
fastlane が対応する環境
| 項目 | 内容 |
|---|---|
| 対応するアプリ | iOS・Mac・Android |
| 対応する Ruby | 3.2 以降 |
| 入れ方 | Bundler と Gemfile/Homebrew(macOS)/システムの Ruby と RubyGems |
| ほかの仕組みとのつなぎ | 400 を超える連携 |
macOS のシステムの Ruby でも使えますが、依存の管理が難しくなり、ぶつかりが起きることがあります。
Bundler で入れるときは、gem install bundler で Bundler を入れ、企画の一番上に ./Gemfile を作って gem "fastlane" と書き、bundle update を実行します。Gemfile と Gemfile.lock の2つは版の管理に入れます。Bundler と Gemfile で fastlane への依存を決めると、使う fastlane の版とその依存がはっきり決まり、fastlane の実行も速くなります。その後は bundle exec fastlane [レーン名] の形で呼び、更新は bundle update fastlane です。
支えられなくなる予定の Ruby の版で動かすと、fastlane が知らせを出します。この知らせは、先の版に備えるための情報だけを伝えるものです。
fastlane のレーンの書き方
レーンには、命令の側から値を渡せます。命令の側では fastlane deploy submit:false build_number:24 のように書き、レーンの側では lane :deploy do |options| と受け取って options[:submit] のように使います。レーンの前後に呼ばれる before_all・before_each・after_all・after_each と、error にも、値は options として渡ります。
レーンの中から別のレーンを呼べます。build(release: true) のように値を渡して呼ぶことも、値を渡さずに呼ぶこともできます。同じ環境のレーンも、環境の枠の外に置いた共通のレーンも呼べます。
レーンは値を返せます。Ruby と同じく、レーンの最後の行が返る値になります。途中で終わらせたいときは next を書きます。たとえば、作り置きのビルドがあるときに、next で組み立てを飛ばせます。
外から呼べないレーンも作れます。private_lane と書いたレーンは、ほかのレーンの中からだけ呼べます。
fastlane を動かす場所
fastlane のツールはどれも自分のコンピューターかサーバーの上で動くので、認証の情報などの知られてはならない情報は、自分のコンピューターの外へ出ません。主な CI(コードを置くたびに機械がビルドとテストを行う仕組み)にも組み込めます。
Bundler で入れたときは、CI の最初のビルドの段に bundle install を入れます。
fastlane を自動の組み立ての場で動かすとき
fastlane は、自動の組み立ての場でも使えます。結果は JUnit の形の報告として自動で書き出されます。Jenkins のような仕組みは、その報告から公開の結果を読み取ります。
fastlane との連携を用意している CI の製品・サービスは、次のとおりです。
| CI |
|---|
| Appcircle/Azure DevOps/Bamboo/Bitrise/Capawesome Cloud |
| CircleCI/Codemagic/GitHub Actions/GitLab CI/Jenkins |
| Semaphore/Travis/AWS CodeBuild |
多くの場合に決めておく環境変数は、次のとおりです。
| 環境変数 | 何のためのものか |
|---|---|
FASTLANE_USER |
App Store Connect と Apple Developer Portal の利用者。そこへ触る動きを使うときに要ります |
FASTLANE_PASSWORD |
同じ場所の合い言葉。ふつうは FASTLANE_USER と組で使います |
MATCH_PASSWORD |
署名の情報を暗号にしてしまう仕組み(match)を使うときの合い言葉 |
FASTLANE_APPLE_APPLICATION_SPECIFIC_PASSWORD |
2段階の確認を有効にしていて、pilot か deliver で App Store Connect へ実行ファイルを上げるときに要るアプリ専用の合い言葉 |
FASTLANE_SESSION |
2段階の確認を有効にしていて、App Store Connect とやり取りする動きを使うとき、fastlane spaceauth で先に作っておくセッション |
LANG と LC_ALL |
文字の扱いの決まり。fastlane は UTF-8 の設定を必要とします(en_US.UTF-8 など)。自動の組み立ての場は、ここが空か ASCII のままになっていることがあります |
SPACESHIP_ONLY_ALLOW_INTERACTIVE_2FA |
人が答えられない場で、2段階の確認を求めさせないための指定 |
fastlane を広げる仕組み
fastlane では、自分で動き(アクション)を作ることも、プラグインを使うことも、自分のプラグインを作ることもできます。
fastlane の費用とライセンス
fastlane は無料で、MIT ライセンス(ソースコードをすべて見ることができ、自分の用途に合わせて改変できるライセンス)のオープンソースとして公開されています。
| 項目 | 費用 |
|---|---|
| 利用 | 無料 |
| ライセンス | MIT(オープンソース) |
- fastlane を手に入れるhttps://fastlane.tools/
情報源
- fastlane — 公式サイト(App automation done right)https://fastlane.tools/確認日 2026-10-18
- fastlane docs — Home(できること・入れ方・ライセンス・対応する環境)https://docs.fastlane.tools/確認日 2026-10-18
- fastlane docs — Available Actions(動きの一覧と区分)https://docs.fastlane.tools/actions/確認日 2026-10-18
- fastlane docs — Setup(入れ方3通り・Bundler で入れる手順・Ruby の版と知らせ)https://docs.fastlane.tools/getting-started/ios/setup/確認日 2026-10-18
- fastlane docs — Lanes(値の渡し方・レーンからレーンを呼ぶ・返る値・`next`・外から呼べないレーン)https://docs.fastlane.tools/advanced/lanes/確認日 2026-10-18
- fastlane docs — Continuous Integration(JUnit の報告・つなぎのある場の一覧・決めておく環境変数)https://docs.fastlane.tools/best-practices/continuous-integration/確認日 2026-10-18
- fastlane — LICENSE(MIT ライセンスの本文・無料の許諾)https://github.com/fastlane/fastlane/blob/master/LICENSE確認日 2026-10-18