gplay-migrate-fastlane

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

Fastlane Migration

Fastlane 迁移

Use this skill when you need to migrate from Fastlane supply to the gplay CLI.
当你需要从Fastlane supply迁移至gplay CLI时,可使用本技能。

Preconditions

前置条件

  • Existing Fastlane metadata directory structure.
  • gplay CLI installed and authenticated.
  • Familiarity with the source Fastlane directory layout.
  • 已存在Fastlane元数据目录结构
  • 已安装并完成gplay CLI的身份验证
  • 熟悉源Fastlane目录布局

Migrate Command

迁移命令

Basic migration

基础迁移

bash
gplay migrate fastlane \
  --source ./fastlane/metadata/android \
  --output-dir ./metadata
bash
gplay migrate fastlane \
  --source ./fastlane/metadata/android \
  --output-dir ./metadata

Dry run (preview without writing files)

试运行(预览不写入文件)

bash
gplay migrate fastlane \
  --source ./fastlane/metadata/android \
  --output-dir ./metadata \
  --dry-run
bash
gplay migrate fastlane \
  --source ./fastlane/metadata/android \
  --output-dir ./metadata \
  --dry-run

Migrate specific locales only

仅迁移指定语言区域

bash
gplay migrate fastlane \
  --source ./fastlane/metadata/android \
  --output-dir ./metadata \
  --locales en-US,es-ES,fr-FR
bash
gplay migrate fastlane \
  --source ./fastlane/metadata/android \
  --output-dir ./metadata \
  --locales en-US,es-ES,fr-FR

Dry run with specific locales

指定语言区域的试运行

bash
gplay migrate fastlane \
  --source ./fastlane/metadata/android \
  --output-dir ./metadata \
  --locales en-US,ja-JP \
  --dry-run
bash
gplay migrate fastlane \
  --source ./fastlane/metadata/android \
  --output-dir ./metadata \
  --locales en-US,ja-JP \
  --dry-run

Flags

参数选项

FlagDescriptionRequired
--source
Path to Fastlane metadata directoryYes
--output-dir
Output directory for gplay metadataYes
--dry-run
Preview changes without writing filesNo
--locales
Comma-separated list of locales to migrateNo (all by default)
参数说明是否必填
--source
Fastlane元数据目录路径
--output-dir
gplay元数据输出目录
--dry-run
预览变更但不写入文件
--locales
待迁移的语言区域列表(逗号分隔)否(默认迁移全部)

What Gets Migrated

迁移内容说明

The command converts the Fastlane directory structure into the gplay metadata format:
该命令会将Fastlane目录结构转换为gplay元数据格式:

Fastlane source structure

Fastlane源目录结构

fastlane/metadata/android/
├── en-US/
│   ├── title.txt
│   ├── short_description.txt
│   ├── full_description.txt
│   ├── video.txt
│   ├── changelogs/
│   │   ├── 100.txt
│   │   └── 101.txt
│   └── images/
│       ├── phoneScreenshots/
│       │   ├── 1.png
│       │   └── 2.png
│       ├── icon.png
│       └── featureGraphic.png
├── es-ES/
│   └── ...
fastlane/metadata/android/
├── en-US/
│   ├── title.txt
│   ├── short_description.txt
│   ├── full_description.txt
│   ├── video.txt
│   ├── changelogs/
│   │   ├── 100.txt
│   │   └── 101.txt
│   └── images/
│       ├── phoneScreenshots/
│       │   ├── 1.png
│       │   └── 2.png
│       ├── icon.png
│       └── featureGraphic.png
├── es-ES/
│   └── ...

Migrated output structure

迁移后的输出目录结构

metadata/
├── en-US/
│   ├── listing.json
│   ├── changelogs/
│   │   ├── 100.txt
│   │   └── 101.txt
│   └── images/
│       ├── phoneScreenshots/
│       │   ├── 1.png
│       │   └── 2.png
│       ├── icon.png
│       └── featureGraphic.png
├── es-ES/
│   └── ...
metadata/
├── en-US/
│   ├── listing.json
│   ├── changelogs/
│   │   ├── 100.txt
│   │   └── 101.txt
│   └── images/
│       ├── phoneScreenshots/
│       │   ├── 1.png
│       │   └── 2.png
│       ├── icon.png
│       └── featureGraphic.png
├── es-ES/
│   └── ...

File conversions

文件转换说明

  • title.txt
    ,
    short_description.txt
    ,
    full_description.txt
    ,
    video.txt
    are consolidated into
    listing.json
    .
  • changelogs/
    are copied as-is.
  • images/
    are copied as-is.
  • title.txt
    short_description.txt
    full_description.txt
    video.txt
    会合并至
    listing.json
  • changelogs/
    目录将原样复制
  • images/
    目录将原样复制

Workflow Examples

工作流示例

Full migration from Fastlane

从Fastlane完整迁移

bash
undefined
bash
undefined

1. Preview the migration

1. 预览迁移效果

gplay migrate fastlane
--source ./fastlane/metadata/android
--output-dir ./metadata
--dry-run
gplay migrate fastlane
--source ./fastlane/metadata/android
--output-dir ./metadata
--dry-run

2. Run the actual migration

2. 执行实际迁移

gplay migrate fastlane
--source ./fastlane/metadata/android
--output-dir ./metadata
gplay migrate fastlane
--source ./fastlane/metadata/android
--output-dir ./metadata

3. Verify the output

3. 验证输出结果

ls -R ./metadata
ls -R ./metadata

4. Import to Play Store

4. 导入至Play Store

gplay sync import-listings
--package com.example.app
--dir ./metadata
undefined
gplay sync import-listings
--package com.example.app
--dir ./metadata
undefined

Incremental locale migration

增量式语言区域迁移

bash
undefined
bash
undefined

Migrate English first

先迁移英文

gplay migrate fastlane
--source ./fastlane/metadata/android
--output-dir ./metadata
--locales en-US
gplay migrate fastlane
--source ./fastlane/metadata/android
--output-dir ./metadata
--locales en-US

Verify and test

验证并测试

gplay sync diff-listings
--package com.example.app
--dir ./metadata
gplay sync diff-listings
--package com.example.app
--dir ./metadata

Migrate remaining locales

迁移剩余语言区域

gplay migrate fastlane
--source ./fastlane/metadata/android
--output-dir ./metadata
--locales es-ES,fr-FR,de-DE,ja-JP
undefined
gplay migrate fastlane
--source ./fastlane/metadata/android
--output-dir ./metadata
--locales es-ES,fr-FR,de-DE,ja-JP
undefined

CI/CD migration validation

CI/CD迁移验证

bash
undefined
bash
undefined

In CI, validate that migration produces expected output

在CI中,验证迁移是否生成预期输出

gplay migrate fastlane
--source ./fastlane/metadata/android
--output-dir ./metadata-test
--dry-run
gplay migrate fastlane
--source ./fastlane/metadata/android
--output-dir ./metadata-test
--dry-run

Check exit code

检查退出码

if [ $? -eq 0 ]; then echo "Migration validation passed" else echo "Migration validation failed" exit 1 fi
undefined
if [ $? -eq 0 ]; then echo "Migration validation passed" else echo "Migration validation failed" exit 1 fi
undefined

Replacing Fastlane Supply Commands

替换Fastlane Supply命令

Fastlane Commandgplay Equivalent
fastlane supply init
gplay sync export-listings --dir ./metadata
fastlane supply
gplay sync import-listings --dir ./metadata
fastlane supply --skip_upload_images
gplay sync import-listings --dir ./metadata
fastlane supply --track beta
gplay release --track beta --bundle app.aab
fastlane supply --track production --rollout 0.1
gplay release --track production --bundle app.aab --rollout 10
Fastlane命令gplay等效命令
fastlane supply init
gplay sync export-listings --dir ./metadata
fastlane supply
gplay sync import-listings --dir ./metadata
fastlane supply --skip_upload_images
gplay sync import-listings --dir ./metadata
fastlane supply --track beta
gplay release --track beta --bundle app.aab
fastlane supply --track production --rollout 0.1
gplay release --track production --bundle app.aab --rollout 10

Best Practices

最佳实践

  1. Always dry-run first - Preview the migration output before writing files.
  2. Migrate locale by locale - Start with your primary locale and verify.
  3. Keep Fastlane source - Do not delete the Fastlane directory until fully migrated and verified.
  4. Validate after migration - Use
    gplay validate listing
    to check character limits.
  5. Update CI/CD gradually - Replace Fastlane commands one at a time.
  6. Version control the output - Commit migrated metadata to track changes.
  1. 始终先试运行 - 在写入文件前预览迁移输出结果
  2. 逐个语言区域迁移 - 从主要语言区域开始,完成验证后再继续
  3. 保留Fastlane源目录 - 在完全迁移并验证完成前,不要删除Fastlane目录
  4. 迁移后验证 - 使用
    gplay validate listing
    检查字符限制
  5. 逐步更新CI/CD - 逐个替换Fastlane命令
  6. 版本控制输出内容 - 将迁移后的元数据提交至版本控制系统以追踪变更