You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过Codemagic Flutter工作流在Google Consul和App Store展示更新日志?

解决方案:在Codemagic中自动同步更新日志到Google Play和App Store

准备工作

  • 项目根目录维护CHANGELOG.md,按版本号分段(比如以## vX.X.X开头区分不同版本),确保更新内容清晰。
  • 在Codemagic项目设置中完成Google Play(服务账号密钥)和App Store Connect(API密钥/证书)的权限配置。

Google Play 同步更新日志

Codemagic支持通过变量或yaml配置直接上传对应版本的更新日志,编辑器模式找不到的话,优先用yaml配置:

  1. 提取对应版本的日志内容:
    在工作流脚本中加入以下命令,从CHANGELOG和pubspec.yaml中自动获取当前版本的更新内容:
    # 获取pubspec.yaml中的版本号
    VERSION=$(grep 'version:' pubspec.yaml | sed 's/version: //')
    # 提取该版本的更新日志(假设CHANGELOG中每个版本以## vX.X.X开头)
    CHANGELOG=$(sed -n "/## v$VERSION/,/## v/p" CHANGELOG.md | head -n -1)
    
  2. 配置发布步骤:
    在codemagic.yaml的Google Play发布节点中指定更新日志:
    publishing:
      google_play:
        credentials: $GOOGLE_PLAY_CREDENTIALS
        track: production
        release_notes:
          en-US: $CHANGELOG # 可添加其他语言版本,比如zh-CN: $CHANGELOG_ZH
    
    如果想用编辑器模式,在Android发布步骤的「Release notes」选择「Custom」,直接填入$CHANGELOG即可。

App Store Connect 同步更新日志

App Store的「What's New」内容同样可以自动同步,步骤如下:

  1. 用和Google Play相同的shell命令提取对应版本的更新日志。
  2. 配置发布步骤:
    在codemagic.yaml的App Store发布节点中指定内容:
    publishing:
      app_store_connect:
        api_key: $APP_STORE_CONNECT_API_KEY
        key_id: $APP_STORE_CONNECT_KEY_ID
        issuer_id: $APP_STORE_CONNECT_ISSUER_ID
        submit_to_testflight: true
        whats_new:
          en-US: $CHANGELOG # 支持多语言配置
    
    编辑器模式下,在iOS发布步骤的「What's new」选择「Custom」,填入$CHANGELOG即可。

注意事项

  • 确保CHANGELOG的格式固定,否则sed命令无法准确提取内容,可根据自己的日志格式调整匹配规则。
  • 所有敏感变量(如各类密钥)都要在Codemagic项目的「Environment variables」中配置,避免硬编码。
  • 多语言日志可维护对应语言的分段内容,比如在CHANGELOG中加入### 中文分区,再用sed提取对应部分。

内容的提问来源于stack exchange,提问作者Mee

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.06 19:30:24