firebase - 使用 Codemagic CI/CD 自动将 Flutter Web 项目部署到 Firebase 托管
问题描述
如何使用 CodeMagic.io 将我的 Flutter Web 应用程序构建自动部署到 Firebase 托管?
目前似乎支持的唯一选项是 Codemagic 静态页面和 Amazon S3 存储桶。除非使用自定义构建脚本。
我对自定义构建脚本选项进行了一些研究,网上没有太多关于自动部署到 Firebase 托管的信息。尽管我怀疑您可以修改 Codemagic 分发文档(“使用 Firebase CLI 发布应用程序”[https://docs.codemagic.io/publishing-yaml/distribution/])中提供的示例来实现此目的。请参阅下面的代码摘录。
- name: Publish the app to Firebase App Distribution
script: |
apkPath=$(find build -name "*.apk" | head -1)
if [[ -z ${apkPath} ]]
then
echo "No apks were found, skip publishing to Firebase App Distribution"
else
echo "Publishing $apkPath to Firebase App Distribution"
firebase appdistribution:distribute --app <your_android_application_firebase_id> --groups <your_android_testers_group> $apkPath
fi
有谁知道我如何编写实现预期结果的自定义脚本?
解决方案
根据我的电子邮件
Firebase CLI 默认安装到 Codemagic 机器上,因此就像 Mikhail 所说的那样,您必须添加FIREBASE_TOKEN
到您的环境变量中,请先使用 Codemagic UI 对其进行加密。
login:ci
您可以通过在本地控制台中运行来获取令牌。然后在构建步骤之后,您只需firebase deploy --token "$FIREBASE_TOKEN"
在项目的根目录中运行(在 UI 中的构建后脚本中,或将其添加到您的 .yaml 中),默认情况下 Codemagic 所在的位置。
推荐阅读
- python - 向 Pytorch Dataloader 添加类对象:批处理必须包含张量
- sql - Postgresql - 分组依据
- amcharts4 - 在amcharts甘特图中绘制一条表示当前日期的移动垂直线?
- amazon-web-services - 如何在 ansible-playbook 中查找 amazon.aws.aws_secret?
- reactjs - 主对象可能未定义时的双重解构
- python - 错误:ModuleNotFoundError:没有名为“tensorflow.contrib”的模块
- flask - WTForms - 将参数传递给表单,然后在变量存在时创建字段
- reactjs - 将活动类添加到反应中的li项目
- reactjs - npm run 不打开网页,只是在元素名称错误的情况下挂起,如何处理此类问题?
- raku - 使用 rakubrew 在其他 rakudo 版本中安装模块