mcpField
A
automate-flutter-app-releases

automate-flutter-app-releases

github.com/rodydavis云与 DevOps6067 次安装2 周前更新
代码仓库

关于 automate-flutter-app-releases

面向 Flutter 项目维护者的 Shell 脚本,用于自动执行 beta 和 production 发布。它整合版本号更新、Fastlane 发布、Dart 格式化、项目清理、类重建、提交和 CocoaPods 更新。

主要功能

  1. 01执行 beta 和 production 发布
  2. 02从 pubspec.yaml 更新版本号
  3. 03通过 Fastlane 发布应用
  4. 04格式化 Dart 并清理项目
  5. 05重建类并更新 CocoaPods

适用场景

  1. 01准备 Flutter 应用的 beta 版本
  2. 02执行应用 production 发布
  3. 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 项目

运行步骤:

  1. 下载此文件,并将其放在 Flutter 项目的根目录
  2. 打开终端并导航到项目所在位置
  3. 输入此命令: chmod +x release.sh

用法

  • 测试版: ./release.sh beta
  • 正式版: ./release.sh release

它将执行以下操作:

  • 如果你使用 pubspec.yaml 中的版本号,则递增版本号
  • 使用 Fastlane 发布应用
  • 格式化所有 Dart 文件
  • 清理项目
  • 重新构建类
  • 添加提交消息

让生活更轻松,自动化测试版和正式版构建!

需要准备 

初始设置 

  • 下载此文件
  • 将其放在 Flutter 项目的根目录
  • 打开终端并导航到项目所在位置
  • 输入此命令:chmod +x release.sh

用法 

现在可以调用此脚本了!

  • 测试版: ./release.sh beta
  • 正式版: ./release.sh release

概览 

  • 如果你使用 pubspec.yaml 中的版本号,则递增版本号
  • 使用 Fastlane 发布应用
  • 格式化所有 Dart 文件
  • 清理项目
  • 重新构建类
  • 添加提交消息
  • 更新 Cocoa Pods

评论

支持 Markdown