automate-flutter-app-releases について
Flutterプロジェクトのメンテナー向けに、beta版とproduction版のリリースを自動化するシェルスクリプトです。バージョン更新、Fastlaneでのリリース、Dartのフォーマット、プロジェクトのクリーンアップ、クラスの再生成、コミット、CocoaPodsの更新をまとめて実行します。
主な機能
- 01beta版とproduction版のリリースコマンド
- 02pubspec.yamlからのバージョン更新
- 03Fastlaneによるアプリリリース
- 04Dartのフォーマットとプロジェクトの整理
- 05クラスの再生成とCocoaPodsの更新
活用シーン
- 01Flutterアプリのbeta版リリース準備
- 02アプリのproduction版リリース実行
- 03リリース前のフォーマットと再ビルド
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ rodydavis/ skills --skill automate-flutter-app-releasesインストール後、Claude Code で/automate-flutter-app-releasesを入力して読み込まれたか確認します。
詳細
Flutter アプリのリリースを自動化する
TLDR スクリプトはこちらから入手できます。
#!/bin/bash
echo "App Release Automator by @rodydavis"
action="$1"
red=`tput setaf 1`
green=`tput setaf 2`
reset=`tput sgr0`
if [ ${action} = "build" ]; then
echo "${green}Generating built files.. ${reset}"
flutter packages pub run build_runner clean
flutter packages pub run build_runner build --delete-conflicting-outputs
pub global activate pubspec_version
git commit -a -m "Build $(pubver bump patch)"
echo "${green}Building Project...${reset}"
find . -name "*-e" -type f -delete
flutter format .
flutter clean
echo "${green}Project Size: $(find . -name "*.dart" | xargs cat | wc -c)${reset}"
echo "${green}Building APK...${reset}"
flutter build apk
echo "${green}Builing IPA..${reset}"
cd ./ios && pod install && pod repo update && cd ..
flutter build ios
git commit -a -m "Project Rebuilt"
elif [ ${action} = "beta" ]; then
echo "${green}Generating built files..${reset}"
flutter packages pub run build_runner clean
flutter packages pub run build_runner build --delete-conflicting-outputs
pub global activate pubspec_version
git commit -a -m "Beta $(pubver bump patch)"
echo "${green}Building Project...${reset}"
find . -name "*-e" -type f -delete
flutter format .
flutter clean
echo "${green}Project Size: $(find . -name "*.dart" | xargs cat | wc -c)${reset}"
echo "${green}Building APK...${reset}"
flutter build apk
echo "${green}Sending Android to Beta...${reset}"
cd ./android && fastlane beta && cd ..
echo "${green}Builing IPA..${reset}"
flutter build ios
echo "${green}Sending iOS to Beta..${reset}"
cd ./ios && fastlane beta && cd ..
git commit -a -m "Sent to Beta"
elif [ ${action} = "release" ]; then
echo "${green}Generating built files..${reset}"
flutter packages pub run build_runner clean
flutter packages pub run build_runner build --delete-conflicting-outputs
pub global activate pubspec_version
git commit -a -m "Production $(pubver bump minor)"
echo "${green}Building Project...${reset}"
find . -name "*-e" -type f -delete
flutter format .
flutter clean
echo "${green}Project Size: $(find . -name "*.dart" | xargs cat | wc -c)${reset}"
echo "${green}Building APK...${reset}"
flutter build apk
echo "${green}Sending Android to Production...${reset}"
cd ./android && fastlane release && cd ..
echo "${green}Builing IPA..${reset}"
flutter build ios
echo "${green}Sending iOS to Production...${reset}"
cd ./ios && fastlane release && cd ..
git commit -a -m "Sent to Production"
fi
echo "${green}Successfully completed${reset}"
必要なもの:
- 各ディレクトリでの Fastlane のセットアップ
- 依存関係としての build_runner
- VCS 内の Git プロジェクト
実行手順:
- このファイルをダウンロードし、Flutter プロジェクトのルートに配置します
- ターミナルを開き、プロジェクトの場所に移動します
- 次のコマンドを入力します:
chmod +x release.sh
使い方
- ベータ版の場合:
./release.sh beta - 本番版の場合:
./release.sh release
次の処理が実行されます:
pubspec.yamlのバージョンを使用している場合、バージョン番号を更新します- Fastlane でアプリをリリースします
- すべての Dart ファイルをフォーマットします
- プロジェクトをクリーンアップします
- クラスを再ビルドします
- コミットメッセージを追加します
ビルドをベータ版と本番版に向けて自動化し、作業を楽にしましょう!
必要なもの
- 各ディレクトリでの Fastlane のセットアップ
- 依存関係としての build_runner
- VCS 内の Git プロジェクト
初期設定
- このファイルをダウンロードします
- Flutter プロジェクトのルートに配置します
- ターミナルを開き、プロジェクトの場所に移動します
- 次のコマンドを入力します:chmod +x release.sh
使い方
このスクリプトを実行できるようになりました!
- ベータ版の場合:
./release.sh beta - 本番版の場合:
./release.sh release
概要
pubspec.yamlのバージョンを使用している場合、バージョン番号を更新します- Fastlane でアプリをリリースします
- すべての Dart ファイルをフォーマットします
- プロジェクトをクリーンアップします
- クラスを再ビルドします
- コミットメッセージを追加します
- Cocoa Pods を更新します
コメント
Markdown 対応