跳转到内容

分发选项

示例

yaml
variables:
  PGYER_API_KEY: 'your api key'
output: dist/
releases:
  - name: dev
    jobs:
      # 构建 apk 包并将其发布到 pgyer
      - name: release-dev-android
        package:
          platform: android
          target: apk
          build_args:
            flavor: dev
            target-platform: android-arm,android-arm64
            dart-define:
              APP_ENV: dev
        publish_to: pgyer
      # 构建 ipa 包并将其发布到 pgyer
      - name: release-dev-ios
        package:
          platform: ios
          target: ipa
          build_args:
            flavor: dev
            export-options-plist: ios/dev_ExportOptions.plist
            dart-define:
              APP_ENV: dev
        publish_to: pgyer
      # 构建 apk 包并指定参数(可选)发布到 pyger
      # 参数说明: https://www.pgyer.com/doc/view/api#fastUploadApp
      - name: release-staging-android
        package:
          platform: android
          target: apk
          build_args:
            flavor: dev
            target-platform: android-arm,android-arm64
            dart-define:
              APP_ENV: dev
        publish:
          target: pgyer
          args:
            pgyer-oversea: 1
            pgyer-install-type: 2
            pgyer-password: 123456
            pgyer-description: 你的应用说明
            pgyer-update-description: 更新说明
            pgyer-install-date: 1
            pgyer-install-start-date: 2025-09-30
            pgyer-install-end-date: 2025-10-30
            pgyer-channel-shortcut: XXXXXX

Specification

Field NameTypeDescription
envmapenvironment variables.
outputstringe.g. dist/
releases--

Hooks

Package hooks 允许你在 job 的打包步骤前后执行 shell 命令。

示例

yaml
releases:
  - name: dev
    jobs:
      - name: android-apk
        package:
          platform: android
          target: apk
          hooks:
            pre: echo "开始打包..."
            post:
              - echo "打包完成!"
              - ls -la dist/

规范

Hooks 定义在 job 的 package.hooks 下。每个 hook 的值可以是:

类型示例
stringpre: echo "before"
listpost: [echo "step 1", echo "step 2"]
Hook描述失败时终止
pre打包前执行✅ 是
post打包完成后执行✅ 是

注意:如果 hook 命令返回非零退出码,打包过程将被终止。

环境变量

以下环境变量可在 hook 命令中使用:

变量说明
PLATFORM平台名称,如 androidiosmacos
PACKAGE_FORMAT包格式,如 apkipadmg
BUILD_MODE构建模式,如 releaseprofile
OUTPUT_DIRECTORY输出目录路径
BUILD_OUTPUT_DIRECTORYFlutter 构建产物输出目录路径
BUILD_OUTPUT_FILES冒号分隔的构建产物文件路径列表

基于 MIT 许可发布