gplay-migrate-fastlane
Migration from Fastlane supply to gplay CLI using the gplay migrate fastlane command. Use when asked to convert a Fastlane-based Play Store workflow to gplay, or to import existing Fastlane metadata directories.
摘要
- 用途
- 将 Fastlane 的 Android 中继数据目录转换为 gplay 的文件式格式,把上架文字集成至 listing.json,并保留变更记录与图片。
- 使用时机
- 当需要分阶段迁移、先以试运行预览变更,或仅转换指定语系时使用。
- 输出结果
- 产生含各语系 listing.json、拷贝的变更记录与图片的 gplay 中继数据目录;试运行则会预览变更而不写入文件。
上游变更(2 条,最新收录 2026-07-04)
439c9ae fix(skills): audit cleanup — correct every command, cut dead weight, add drift guardrail (#3) 更新迁移指南,将输出格式说明为 gplay 文件式 metadata 指令所用的格式,并将正式环境 rollout 范例从 `10` 修正为 `0.1`。 f8592d5 feat: add skills for v0.4.2 new commands (vitals, users, migrate) 添加 Fastlane 转移至 gplay 的指南,涵盖指令范例、选项、文件转换与输出细节、工作流程范例、指令对照及最佳实务。 npx skills add "lettucebo/Skills#v2.2.0@gplay-migrate-fastlane" --full-depth ⚠ v2.2.0 发布后即可使用
Fastlane Migration
Use this skill when you need to migrate from Fastlane supply to the gplay CLI.
Preconditions
- Existing Fastlane metadata directory structure.
- gplay CLI installed and authenticated.
- Familiarity with the source Fastlane directory layout.
Migrate Command
Basic migration
gplay migrate fastlane \
--source ./fastlane/metadata/android \
--output-dir ./metadata
Dry run (preview without writing files)
gplay migrate fastlane \
--source ./fastlane/metadata/android \
--output-dir ./metadata \
--dry-run
Migrate specific locales only
gplay migrate fastlane \
--source ./fastlane/metadata/android \
--output-dir ./metadata \
--locales en-US,es-ES,fr-FR
Dry run with specific locales
gplay migrate fastlane \
--source ./fastlane/metadata/android \
--output-dir ./metadata \
--locales en-US,ja-JP \
--dry-run
Flags
| Flag | Description | Required |
|---|---|---|
--source |
Path to Fastlane metadata directory | Yes |
--output-dir |
Output directory for gplay metadata | Yes |
--dry-run |
Preview changes without writing files | No |
--locales |
Comma-separated list of locales to migrate | No (all by default) |
What Gets Migrated
The command converts the Fastlane directory structure into the format used by gplay's file-based metadata commands (metadata pull / metadata push / metadata validate):
Fastlane source structure
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/
│ └── ...
File conversions
title.txt,short_description.txt,full_description.txt,video.txtare consolidated intolisting.json.changelogs/are copied as-is.images/are copied as-is.
Workflow Examples
Full migration from Fastlane
# 1. Preview the migration
gplay migrate fastlane \
--source ./fastlane/metadata/android \
--output-dir ./metadata \
--dry-run
# 2. Run the actual migration
gplay migrate fastlane \
--source ./fastlane/metadata/android \
--output-dir ./metadata
# 3. Verify the output
ls -R ./metadata
# 4. Import to Play Store
gplay sync import-listings \
--package com.example.app \
--dir ./metadata
Incremental locale migration
# Migrate English first
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
# Migrate remaining locales
gplay migrate fastlane \
--source ./fastlane/metadata/android \
--output-dir ./metadata \
--locales es-ES,fr-FR,de-DE,ja-JP
CI/CD migration validation
# In CI, validate that migration produces expected output
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
Replacing Fastlane Supply Commands
| Fastlane Command | gplay 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 0.1 |
Best Practices
- Always dry-run first - Preview the migration output before writing files.
- Migrate locale by locale - Start with your primary locale and verify.
- Keep Fastlane source - Do not delete the Fastlane directory until fully migrated and verified.
- Validate after migration - Use
gplay validate listingto check character limits. - Update CI/CD gradually - Replace Fastlane commands one at a time.
- Version control the output - Commit migrated metadata to track changes.