fastlane
概要
🚀 The easiest way to automate building and releasing your iOS and Android apps
概念
table:概念
概念 概要
Lane ある1まとまりの作業の流れ (テストの実行やビルド、デプロイ等) をまとめたもの 設定ファイル
table:設定ファイル
ファイル名 概要
Deliverfile deliver action 用の設定ファイル ...etc
秘匿情報の管理
秘匿情報は環境変数経由で受け渡すのがよく、安全かつシンプルなのは dotenv を利用する方法のようだ。fastlane はその引数で env ファイルを受け渡すことができる。 code:.env
CRASHLYTICS_API_TOKEN="123abc"
code:console
fastlane beta --env .env
ただし、.env ファイルに記載したいのが秘匿情報ばかりとは限らない。物によってはチームメンバと public に共有した方がやりやすいものもあるかもしれない。そのような場合には、public に公開可能な dotenv と、秘匿情報を分ける、という方法もある。--env オプションで受け渡せる .env ファイルは 1 つのみであるため、秘匿情報を管理した env は Fastfile 内で直接ロードすれば良い。 code:.env.secret
FL_GITHUB_RELEASE_API_TOKEN="hogehoge"
code:.env
code:Fastfile.rb
fastlane_require("dotenv")
Dotenv.load(".env.secret")
インストールする gem のバージョンを複数の環境で揃えるために Bundler を利用すると良い。 code:console
$ gem install bundler
$ bundle init
生成される Gemfile を以下のように編集して、bundle install する。生成される Gemfile.lock もバージョン管理に含めること。
code:Gemfile
gem "fastlane"
fastlane インストール後は、下記コマンドを実行すると、いくつかの質問への回答を求められる。この回答とプロジェクトの状態に応じて、最終的に最低限必要な設定ファイルとして ./fastlane 以下に Appfile, Fastfile が生成される。 code:console
$ fastlane init
fastlane docs
fastlane list
fastlane lanes
App Store Connect API
Tips
参考