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

如何通过expo/expo-github-action获取内部分发构建的下载链接?

获取EAS Build构建后的APK/IPA下载链接(GitHub Actions)

方案1:通过EAS CLI查询构建结果(推荐)

利用EAS CLI的官方命令直接获取构建artifact链接,稳定性更高。在expo/expo-github-action@v7步骤后新增以下步骤:

- name: Fetch EAS build artifacts
  run: |
    # 用EAS_TOKEN登录(确保仓库Secrets已配置该变量)
    eas login --non-interactive --token ${{ secrets.EAS_TOKEN }}
    # 获取最新完成的构建ID
    BUILD_ID=$(eas build:list --platform all --status finished --limit 1 --json | jq -r '.[0].id')
    # 提取Android和iOS的下载链接
    APK_URL=$(eas build:view $BUILD_ID --json | jq -r '.artifacts.android.buildUrl')
    IPA_URL=$(eas build:view $BUILD_ID --json | jq -r '.artifacts.ios.buildUrl')
    # 写入环境变量供后续步骤调用
    echo "APK_URL=$APK_URL" >> $GITHUB_ENV
    echo "IPA_URL=$IPA_URL" >> $GITHUB_ENV
  env:
    EAS_TOKEN: ${{ secrets.EAS_TOKEN }}

说明:EAS_TOKEN需要从Expo账户的「Access Tokens」页面生成,然后添加到GitHub仓库的Secrets中。

方案2:解析工作流日志提取链接

如果不想额外调用EAS CLI,可以直接从expo/expo-github-action的输出日志中匹配链接:

- name: Extract build links from workflow logs
  run: |
    # 匹配Expo artifact链接格式
    APK_URL=$(grep -o 'https://expo.dev/artifacts/[^"]*\.apk' $GITHUB_WORKFLOW_LOG)
    IPA_URL=$(grep -o 'https://expo.dev/artifacts/[^"]*\.ipa' $GITHUB_WORKFLOW_LOG)
    echo "APK_URL=$APK_URL" >> $GITHUB_ENV
    echo "IPA_URL=$IPA_URL" >> $GITHUB_ENV

注意:这种方法依赖日志输出格式,若Expo调整输出文本,可能需要更新正则表达式。

后续Slack通知示例

拿到环境变量中的链接后,即可在Slack通知步骤中直接使用:

- name: Send Slack notification
  uses: slackapi/slack-github-action@v1.24.0
  with:
    slack-message: |
      🚀 新的内部分发版本已构建完成:
      📱 Android: <${{ env.APK_URL }} | 下载APK>
      🍎 iOS: <${{ env.IPA_URL }} | 下载IPA>
  env:
    SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.29 09:07:23