firebase 从远程部署托管(google 存储)
firebase deploy hosting from remote (google storage)
我有一个单页应用程序,我想在不同的 gcp 项目中托管,即不同的 firebase 项目。
部署应该持续到我的 firebase 托管,我想分开持续构建和持续部署步骤,因此 我不想从我的本地机器部署到我所有的 firebase 项目都是手动的。
我的问题是:
当我不想从我的本地机器部署时,是否有关于部署到 firebase 托管项目的最佳实践?
以我天真的方式,我将设置以下内容:
我需要构建一个 zip 文件,其中包含所有静态 html 和 js 文件以及我上传到存储桶的 firebase.json 和 .firebaserc 文件。
使用这些文件,firebase
CLI 工具能够执行 firebase deploy --only hosting:mytarget
。 google 云构建器可以 运行 在 git 推送上执行此命令(例如来自 github.com),它知道我要将单页应用程序部署到的所有 gcp 项目...
然而,这需要大量工作,也许对此有更好的解决方案。
我试图将 gs:// link 直接放到 firebase.json hosting/public 部分,但是 firebase CLI 无法识别这个(它需要一个本地文件夹):-(
{
"hosting": [
{
"target": "mySPAApp",
"public" : "gs://mystorage-containing-files-for-hosting/",
"rewrites": [
{
"source": "apps/myapp/**",
"destination": "myapp/index.html"
}]
}
]
}
我的直觉告诉我必须有更简单的方法,甚至可以使用 gcloud
CLI 将一堆文件部署到 firebase 托管。
在 firebase 内部,功能的实现应该与此类似,因为在 firebase 控制台中,用户可以简单地回滚到托管应用程序的先前版本,但是似乎没有关于此的文档。
好的,我发现有一个用于 firebase 托管的官方 REST API,使用起来有点麻烦。
https://firebase.google.com/docs/hosting/reference/rest/v1beta1/sites.versions/create
配置格式与firestore.json中正常提供的格式不同,需要在创建Release之前以状态机方式在Version中上传文件。
不过,我认为这不是一个可供选择的解决方案。
我有一个单页应用程序,我想在不同的 gcp 项目中托管,即不同的 firebase 项目。
部署应该持续到我的 firebase 托管,我想分开持续构建和持续部署步骤,因此 我不想从我的本地机器部署到我所有的 firebase 项目都是手动的。
我的问题是:
当我不想从我的本地机器部署时,是否有关于部署到 firebase 托管项目的最佳实践?
以我天真的方式,我将设置以下内容:
我需要构建一个 zip 文件,其中包含所有静态 html 和 js 文件以及我上传到存储桶的 firebase.json 和 .firebaserc 文件。
使用这些文件,firebase
CLI 工具能够执行 firebase deploy --only hosting:mytarget
。 google 云构建器可以 运行 在 git 推送上执行此命令(例如来自 github.com),它知道我要将单页应用程序部署到的所有 gcp 项目...
然而,这需要大量工作,也许对此有更好的解决方案。 我试图将 gs:// link 直接放到 firebase.json hosting/public 部分,但是 firebase CLI 无法识别这个(它需要一个本地文件夹):-(
{
"hosting": [
{
"target": "mySPAApp",
"public" : "gs://mystorage-containing-files-for-hosting/",
"rewrites": [
{
"source": "apps/myapp/**",
"destination": "myapp/index.html"
}]
}
]
}
我的直觉告诉我必须有更简单的方法,甚至可以使用 gcloud
CLI 将一堆文件部署到 firebase 托管。
在 firebase 内部,功能的实现应该与此类似,因为在 firebase 控制台中,用户可以简单地回滚到托管应用程序的先前版本,但是似乎没有关于此的文档。
好的,我发现有一个用于 firebase 托管的官方 REST API,使用起来有点麻烦。 https://firebase.google.com/docs/hosting/reference/rest/v1beta1/sites.versions/create 配置格式与firestore.json中正常提供的格式不同,需要在创建Release之前以状态机方式在Version中上传文件。
不过,我认为这不是一个可供选择的解决方案。