搜尋套件、儲存庫與 APP 分類

套件詳情v1.0.0

simple_deploy

僅使用一個 Dart 命令,即可輕鬆部署到 TestFlight 和 Play Store 測試軌道!

AndroidiOSWebmacOSWindowsLinux
近 30 天下載
110
喜歡數
60
Pub 分數
150

安裝套件

flutter pub add simple_deploy

套件介紹

根據套件公開資料產生的選型評估,僅供參考。

Simple Deploy 是一個 Flutter/Dart 套件,透過單一 Dart 指令簡化將應用程式發布至 TestFlight 與 Google Play 商店測試軌道的流程。它透過自動化建構與上傳步驟,簡化應用程式的分發,減少手動操作與潛在錯誤。此套件專為經常測試發行版本的開發者設計,支援 Android、iOS、Web、macOS、Windows 及 Linux 等多個平台。該套件可輕鬆整合至現有工作流程,設定簡單,非常適合注重快速迭代與測試的團隊。

適用情境

  • 自動化測試版發佈
  • 優化CI/CD流程
  • 快速部署到 TestFlight 和 Play 商店
  • 減少手動建構/上傳任務
  • 跨平台應用程式分發
  • 頻繁的發佈週期

主要特色

  • 單命令部署
  • 支援 iOS 與 Android 測試軌道
  • 多平台相容性
  • 所需的設定最少
  • 與 CI/CD 系統的整合
  • 內建的建構自動化

適合對象

  • Flutter 開發者
  • 移動應用測試團隊
  • CI/CD 自動化工程師
  • 快速發展的開發環境
  • 使用 TestFlight 或 Play 商店內部測試的團隊

使用建議

  • 需要正確的憑證以及對 Apple Developer 和 Google Play Console 的存取權限
  • 可能需要為 CI 添加額外的環境變數
  • 不適用於生產應用發佈
  • 依賴外部服務(Apple、Google)
  • 限於測試軌道部署
  • 執行期間需要互聯網連接

原始 README

以下為關聯原始碼儲存庫的 README 原文快照,最新內容請造訪原始碼儲存庫。

simple_deploy is a quick and easy way to deploy apps to the store's test systems

Features

Deploy to iOS Test Flight Deploy to Android Play Store tracks of your choice Supports flavors

Getting started

Install the dependency into your pubspec.yaml with the following:

dev_dependencies:
  simple_deploy: latest_version # e.g. ^0.23.0

Create a deploy.yaml file at the root of your project and configure it

Here is minimal example version of deploy.yaml

android:
  credentialsFile: "c:/credentials/project-credentials.json"
  packageName: "com.example.coolapp"
  whatsNew: "Simple bug fixes"

ios:
  # App Store Connect API configuration (All fields are required)
  issuerId: "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
  keyId: "XXXXXXXXXX"
  privateKeyPath: "path/to/your/AuthKey_XXXXXXXXXX.p8"
  bundleId: "com.example.coolapp"
  
  # Optional fields
  whatsNew: "New features and improvements" # For "What's New" text in TestFlight
  flavor: "production"                   # Omit if not using flavors
  generatedFileName: "custom_name.ipa"   # Omit to use the default ipa name

And here's a version with all options set:

common:
  versionStrategy: "none"  # or "pubspecIncrement" or "storeIncrement"

android:
  credentialsFile: "c:/credentials/project-credentials.json"
  packageName: "com.example.coolapp"
  trackName: "internal"
  whatsNew: "Simple bug fixes"
  flavor: "flavor"            # specify a flavor if required, or omit if not using flavors
  generatedFileName: "fancyproject.aab"       # supply a custom file name for the aab, or omit if using the default

ios:
  # App Store Connect API configuration (required for storeIncrement version strategy)
  issuerId: "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"  # App Store Connect API Issuer ID
  keyId: "XXXXXXXXXX"  # App Store Connect API Key ID
  privateKeyPath: "path/to/AuthKey_XXXXXXXXXX.p8"  # Path to your private key file
  bundleId: "com.example.coolapp"  # Required for App Store submission
  whatsNew: "New features and improvements"  # Optional, used for App Store submission
  flavor: "flavor"            # specify a flavor if required, or omit if not using flavors
  generatedFileName: "fancyproject.ipa"         # supply a custom file name for the ipa, or omit if using the default
  autoIncrementMarketingVersion: false # defaults to false, updates the first part of the 'version' in the pubspec.yaml, e.g. 1.0.15+39 (it would increment to 1.0.16)
Parameter details

| flavor | Description | | ------------ | ---------------------------------------------------------------------------------------------------------------------------------------------- | --- | | flavorName | Optional parameter, which can be set for both android and iOS, don't supply if not using flavors, or provide the flavor name if using them | |

versionStrategy Description
none Default. Uses the current value in the pubspec.
pubspecIncrement Retrieves the current build number from the pubspec, increments it by one, and uses the updated number.
storeIncrement Gets the latest version code from the store (Play Store for Android), increments it by one, and updates the pubspec. For Android only.
trackName Description
internal Default. Deploys to the internal track.
alpha Deploys to the alpha track.
beta Deploys to the beta track.
production Deploys to the production track.

Here's the step-by-step instructions for configuring for each platform

Android configuration

iOS configuration

Usage

Just run dart run simple_deploy and select the deployment platform

You can also supply the platform with

  • dart run simple_deploy android
  • dart run simple_deploy ios
  • dart run simple_deploy ios --submit-review # This will also submit to App Store review after TestFlight processing

If you are using flavors you can add them here, they will override what is set in the pubspec.yaml, for example

  • dart run simple_deploy android --flavor flavorName

You can use the --pubspecIncrement flag to increment the build number for a specific deployment, regardless of the versionStrategy setting in your deploy.yaml:

  • dart run simple_deploy --pubspecIncrement

This flag will override the versionStrategy setting just for that deployment, allowing you to increment the build number only when needed.

Additional information

You'll need to get some developer details from App Store connect for the deploy.yaml file You will also need to set up a google cloud project to create the .json file required for android. See steps below of these:

Android configuration

Android configuration

iOS configuration

iOS configuration

Contributions

Thanks to the following people for their great contributions to this project KarlJan Reginaldo

所屬分類

依賴

依賴清單 8 項

原始碼儲存庫

使用此套件的專案

暫無相關資料。