【问题标题】:Retrieving an old version of a Google Cloud function source检索旧版本的 Google Cloud 函数源
【发布时间】:2018-03-29 14:08:04
【问题描述】:

我不小心丢失了云函数的最新源文件,然后使用旧版本再次部署了云函数。

每次部署云功能时,我都会在控制台上看到部署的版本 ID。

我可以做些什么来回滚到源文件的先前版本吗?

【问题讨论】:

标签: google-cloud-functions


【解决方案1】:

我终于明白了:

每次部署到云函数时,都会得到如下输出行:

sourceArchiveUrl:gs://my-store-bucket/us-central1-function_name-xxoxtdxvxaxx.zip

我进入了我的 Google Cloud Platform Developer Console -> Cloud Functions -> function_name -> Source 选项卡

几乎在底部它说: 来源位置

my-store-bucket/us-central1-function_name-xxoxtdxvxaxx.zip

与 CLI 中显示的相同,但没有 gs:// 该链接将我引向以下内容: https://storage.cloud.google.com/my-store-bucket/us-central1-function_name-........

我从链接中删除了之后的所有内容

https://storage.cloud.google.com/my-store-bucket

这让我看到了一个巨大的文件列表,每个文件都代表了我在每次部署时的所有云功能的图像,这正是我所需要的!

剩下要做的就是找到我错误部署前最后日期的文件

【讨论】:

  • 我现在看不到了
  • 改成了一个下载源:“下载zip”按钮,如果右击按钮修改URL,可以编辑functionVersion参数。
  • 截至 2021 年 6 月,Google 似乎已经改变了他们这样做的方式。我可以通过functionVersion 参数返回一个版本,但没有之前的版本。
【解决方案2】:

以下内容显示了在何处查找和恢复您的 Google Cloud Function 的先前部署版本。

输入函数后,您可以在 GCF 屏幕左上角的下拉菜单中选择每个以前的版本。

在此概览页面上,在未进入 EDIT 模式时,您可以从菜单中选择一些以前的版本(尽管不是全部) - 然后部署所选版本(此处:版本 5)。

【讨论】:

【解决方案3】:

当您部署新版本的 CF 时,代码存储在 GCS bucket 中。此存储桶仅存储最近部署的 2 个版本。您可以设置retention policy 以保留旧版本的 CF。

bucket的名字类似这样:

gcf-source-[ID]-[函数区域]

恢复旧版本 CF 的解决方法是从存储桶下载代码并使用它重新部署函数。

【讨论】:

    猜你喜欢
    • 2019-05-04
    • 2018-01-04
    • 2021-04-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-04-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多