firebase从远程部署主机(谷歌存储)



我有一个单页应用程序,我想在不同的gcp项目中托管,即不同的firebase项目。

部署应该持续到我的firebase宿主,我想将连续构建和连续部署步骤分开,因此我不想手动从本地机器部署到我的所有firebase项目。

我的问题是:

当我不想从本地机器部署时,是否有任何部署到firebase托管项目的最佳实践


以我天真的方式,我将设置以下内容:

我需要构建一个zip文件,其中包含所有静态html和js文件,以及我上传到存储桶的firebase.json和.firebaserc文件。使用这些文件,firebaseCLI工具能够执行firebase deploy --only hosting:mytarget。谷歌云构建器可以在git推送(例如github.com(上运行此命令,该推送知道我想要将单页应用程序部署到的所有gcp项目…

然而,这是一项艰巨的工作,也许有更好的解决方案。我试图将一个gs://链接直接放在firebase.json hosting/public部分,但firebaseCLI无法识别这一点(它需要一个本地文件夹(:-(

{
"hosting": [
{
"target": "mySPAApp",
"public" : "gs://mystorage-containing-files-for-hosting/",
"rewrites": [
{
"source": "apps/myapp/**",
"destination": "myapp/index.html"
}]
}
]
}

我的直觉是,一定有一种更简单的方法,甚至可能使用gcloudCLI,它只是将一堆文件部署到firebase主机。在firebase内部,功能应该以类似的方式实现,因为在firebase控制台中,用户可以简单地回滚到托管应用程序的以前版本,但似乎没有关于这方面的文档。

好的,我发现有一个官方的REST API用于firebase托管,使用起来有点麻烦。https://firebase.google.com/docs/hosting/reference/rest/v1beta1/sites.versions/create配置的格式不同于firestore.json中通常提供的格式,并且在创建Release之前,需要以状态机的方式在Version中上传文件。

不过,在我看来,这不是一个可以选择的解决方案。

最新更新