关于 automate-flutter-app-releases
面向 Flutter 项目维护者的 Shell 脚本,用于自动执行 beta 和 production 发布。它整合版本号更新、Fastlane 发布、Dart 格式化、项目清理、类重建、提交和 CocoaPods 更新。
主要功能
- 01执行 beta 和 production 发布
- 02从 pubspec.yaml 更新版本号
- 03通过 Fastlane 发布应用
- 04格式化 Dart 并清理项目
- 05重建类并更新 CocoaPods
适用场景
- 01准备 Flutter 应用的 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