使用Codemagic CI/CD自动将Flatter Web项目部署到Firebase主机

使用Codemagic CI/CD自动将Flatter Web项目部署到Firebase主机,firebase,yaml,flutter-web,codemagic,Firebase,Yaml,Flutter Web,Codemagic,我如何使用CodeMagic.io自动将我的Flatter web应用程序构建部署到firebase主机 目前唯一受支持的选项是Codemagic静态页面和AmazonS3存储桶。除非使用自定义生成脚本 我已经对自定义构建脚本选项做了一些研究,但是在线上没有太多关于自动部署到firebase主机的信息。尽管我怀疑您可能能够修改Codemagic发行文档“使用Firebase CLI发布应用程序”中提供的示例[https://docs.codemagic.io/publishing-yaml/di

我如何使用CodeMagic.io自动将我的Flatter web应用程序构建部署到firebase主机

目前唯一受支持的选项是Codemagic静态页面和AmazonS3存储桶。除非使用自定义生成脚本

我已经对自定义构建脚本选项做了一些研究,但是在线上没有太多关于自动部署到firebase主机的信息。尽管我怀疑您可能能够修改Codemagic发行文档“使用Firebase CLI发布应用程序”中提供的示例[https://docs.codemagic.io/publishing-yaml/distribution/]为了实现这一点。请参阅下面的代码摘录

-名称:将应用程序发布到Firebase应用程序分发版 脚本:| apkPath=$find build-name*.apk | head-1 如果[[-z${apkPath}]] 然后 echo未找到APK,跳过发布到Firebase应用程序分发 其他的 echo将$apkPath发布到Firebase应用程序分发版 firebase appdistribution:分发-应用程序-组$apkPath fi
有人知道我如何编写自定义脚本以实现所需的结果吗?

在从CI/CD服务部署之前,请确保完成以下步骤:

您已经通过firebase init创建了firebase项目 您已将firebase.json添加到存储库中 确保您有firebase令牌 下一步是配置CI/CD工作流

将FIREBASE_令牌添加到环境变量检查是否使用Codemagic UI配置 将此脚本添加到生成后脚本
从CI/CD服务部署之前,请确保完成以下步骤:

您已经通过firebase init创建了firebase项目 您已将firebase.json添加到存储库中 确保您有firebase令牌 下一步是配置CI/CD工作流

将FIREBASE_令牌添加到环境变量检查是否使用Codemagic UI配置 将此脚本添加到生成后脚本 根据我的电子邮件

Firebase CLI默认安装在Codemagic机器上,因此正如Mikhail所说,您必须将Firebase_令牌添加到您的环境变量中,请首先使用Codemagic UI对其进行加密

您可以通过在本地控制台中运行login:ci来获取令牌。然后,在构建步骤之后,您只需在UI中的构建后脚本中运行firebase deploy-token$firebase\u token,或者将其添加到项目根目录中的.yaml中,默认情况下Codemagic位于该目录中。

根据我的电子邮件

Firebase CLI默认安装在Codemagic机器上,因此正如Mikhail所说,您必须将Firebase_令牌添加到您的环境变量中,请首先使用Codemagic UI对其进行加密


您可以通过在本地控制台中运行login:ci来获取令牌。然后,在构建步骤之后,您只需在UI中的构建后脚本中运行firebase deploy-token$firebase\u token,或者将其添加到项目根目录中的.yaml中,默认情况下Codemagic位于该目录中。

您能详细说明吗?因为这意味着我必须在我的项目中运行firebase init命令并提交更改,将firebase令牌存储在codemagic上,然后以某种方式告诉firebase deploy命令使用部署过程中生成的web.zip工件,而不是默认的public folder.hi,我已经添加了更多的信息,但是没有机会测试它。你能详细说明一下吗?因为这意味着我必须在我的项目中运行firebase init命令并提交更改,将firebase令牌存储在codemagic上,然后以某种方式告诉firebase deploy命令使用部署过程中生成的web.zip工件,而不是默认的public folder.hi,我添加了更多信息,但没有机会测试它
#!/bin/sh

cd $FCI_BUILD_DIR
firebase deploy -m 'my comment'