Fastlane Expert について
iOSのビルド、テスト、リリースを自動化するチーム向けのFastlaneスキルです。TestFlight、App Store配信、署名、CI/CDのレーン例を扱います。
主な機能
- 01TestFlightベータ配信のレーン例
- 02App Storeリリースの自動化
- 03iOSテスト用レーンの設定
- 04matchによるコード署名
- 05GitHub Actionsとの連携
活用シーン
- 01TestFlightへのベータ版アップロード
- 02App Storeリリースの準備
- 03レーンでのiOSテスト実行
- 04署名証明書の同期
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ willsigmon/ sigstack --skill fastlane-expertインストール後、Claude Code で/fastlane-expertを入力して読み込まれたか確認します。
詳細
Fastlane 自動化エキスパート
fastlane を使用して iOS のビルド、テスト、デプロイを自動化します。
セットアップ
# Install
brew install fastlane
# Init in project
cd ios-project
fastlane init
Fastfile のパターン
TestFlight へのベータ版配信
# Fastfile
default_platform(:ios)
platform :ios do
desc "Push a new beta build to TestFlight"
lane :beta do
increment_build_number(xcodeproj: "App.xcodeproj")
build_app(scheme: "App")
upload_to_testflight(
skip_waiting_for_build_processing: true
)
end
end
App Store リリース
lane :release do
capture_screenshots
build_app(scheme: "App")
upload_to_app_store(
submit_for_review: true,
automatic_release: true,
force: true,
skip_metadata: false,
skip_screenshots: false
)
end
テスト用レーン
lane :test do
run_tests(
scheme: "AppTests",
devices: ["iPhone 15 Pro"],
code_coverage: true
)
end
App Store Connect API
# Appfile
app_identifier "com.example.app"
apple_id "[email protected]"
team_id "ABC123"
# API key auth (recommended)
# Store key file securely
lane_context[SharedValues::APP_STORE_CONNECT_API_KEY] = app_store_connect_api_key(
key_id: "ABC123",
issuer_id: "def-456",
key_filepath: "./AuthKey.p8"
)
コード署名
Match(推奨)
lane :sync_certs do
match(
type: "appstore",
app_identifier: "com.example.app",
git_url: "[email protected]:org/certs.git"
)
end
lane :beta do
match(type: "appstore")
build_app(scheme: "App")
upload_to_testflight
end
CI/CD 統合
GitHub Actions
- name: Build and Upload
env:
APP_STORE_CONNECT_API_KEY: ${{ secrets.ASC_KEY }}
MATCH_PASSWORD: ${{ secrets.MATCH_PASSWORD }}
run: bundle exec fastlane beta
一般的なアクション
build_app:iOS アプリをビルドupload_to_testflight:ベータ版を配信upload_to_app_store:本番リリースmatch:コード署名を同期snapshot:スクリーンショットを自動化deliver:メタデータ/スクリーンショットをアップロード
使用する場面:iOS のビルド、TestFlight へのアップロード、App Store のリリース、CI/CD の自動化
コメント
Markdown 対応