DeployAnd
用于自动化 Google Play 商店应用部署、编译和发布流程的命令行工具。
安装
系统要求
- Ruby 2.7.0 或更高版本
- Bundler
从 RubyGems 安装(即将推出)
gem install deployand
从源码安装
git clone https://github.com/deployand/deployand.git
cd deployand
bundle install
rake build
gem install pkg/deployand-*.gem
跨平台支持
DeployAnd 支持以下系统:
- macOS
- Linux
- Windows(需要安装 Ruby)
快速开始
初始化新项目:
deployand init MyApp在
deployand.yml中配置应用设置构建应用:
deployand build发布到 Google Play 商店:
deployand publish internal
命令
deployand init [项目名称]
初始化一个新的 deployand 项目,并创建配置文件。
选项:
--template=模板- 使用指定模板(android、flutter、react-native)--force- 覆盖现有配置文件
示例:
deployand init MyApp
deployand init MyApp --template=flutter
deployand init MyApp --template=react-native --force
deployand iap [操作]
管理 Google Play 控制台中的应用内购买产品。
操作:
create- 创建新的 IAP 产品update- 更新现有 IAP 产品list- 列出所有 IAP 产品delete- 删除 IAP 产品
选项:
--product-id=产品ID- 指定产品 ID--price=价格- 设置产品价格--title=标题- 设置产品标题--description=描述- 设置产品描述--sync- 与远程 IAP 配置同步
示例:
deployand iap list
deployand iap create --product-id=premium --price=9.99 --title="高级版本"
deployand iap update --product-id=premium --price=7.99
deployand iap delete --product-id=old_product
deployand build [构建类型]
构建并打包应用程序以用于 Google Play 商店部署。
构建类型:
release(默认)- 发布模式构建debug- 调试模式构建
选项:
--clean- 构建前清理构建产物--sign- 使用发布密钥库签名 APK/AAB(发布模式默认)--output=路径- 指定输出目录--flavor=变体- 构建指定变体--arch=架构- 目标架构(arm64-v8a、armeabi-v7a、x86_64)
示例:
deployand build
deployand build release --clean
deployand build debug --flavor=development
deployand build --arch=arm64-v8a --output=./dist
deployand publish [发布轨道]
上传并发布应用程序到 Google Play 商店。
发布轨道:
internal(默认)- 内部测试alpha- Alpha 测试beta- Beta 测试production- 正式发布
选项:
--apk=路径- APK 文件路径--aab=路径- AAB 文件路径--rollout=百分比- 分阶段推出百分比(0-100)--release-notes=说明- 此版本的发布说明--release-notes-file=文件- 包含发布说明的文件--skip-upload-apk- 跳过 APK/AAB 上传(仅元数据)--skip-upload-metadata- 跳过元数据上传--skip-upload-images- 跳过截图和图片上传--dry-run- 验证但不实际发布
示例:
deployand publish internal --aab=./build/app.aab
deployand publish beta --rollout=50 --release-notes="错误修复和改进"
deployand publish production --aab=./app-release.aab --release-notes-file=./CHANGELOG.md
deployand publish alpha --dry-run
配置
DeployAnd 在项目根目录使用 deployand.yml 配置文件:
app:
package_name: "com.example.myapp"
name: "我的应用"
google_play:
service_account_json: "./google-play-service-account.json"
build:
type: "android" # android, flutter, react-native
gradle_file: "./app/build.gradle"
signing:
keystore_path: "./keystore/release.keystore"
keystore_password: "${KEYSTORE_PASSWORD}"
key_alias: "release"
key_password: "${KEY_PASSWORD}"
metadata:
default_language: "zh-CN"
title: "我的精彩应用"
short_description: "适合每个人的优秀应用"
full_description: "这是一个全面的描述..."
tracks:
internal:
rollout_percentage: 100
beta:
rollout_percentage: 50
production:
rollout_percentage: 10
全局选项
所有命令都支持以下全局选项:
--verbose- 显示更多调试信息--silent- 除错误外不显示任何内容--help- 显示命令帮助
开发
克隆仓库后,运行:
bundle install
运行测试:
bundle exec rspec
构建 gem:
rake build
贡献
欢迎在 GitHub 上提交错误报告和拉取请求:https://github.com/deployand/deployand
许可证
该 gem 在 MIT 许可证 条款下作为开源软件提供。