【问题标题】:gcloud in version Google Cloud SDK 0.9.57 breaks deploy of application谷歌云 SDK 0.9.57 版本中的 gcloud 中断了应用程序的部署
【发布时间】:2023-04-09 14:14:01
【问题描述】:

截至 2015 年 4 月 22 日,将 gcloud 更新到最新版本会中断部署命令。应用程序的版本设置为当前时间戳(例如:20150422t202108)。并做一个:

gcloud preview app deploy .

返回错误

"ERROR: Directories are not supported [.].  You must provide explicit yaml files."

使用单独的 .yaml 文件部署应用程序会抱怨模块中指定的版本,因为更新将应用程序版本设置为时间戳。

"The version [1] declared in [/Users/username/app.yaml, /Users/username/app2.yaml] does not match the current gcloud version [20150422t202108]."

这是一个错误还是配置选项发生了变化?我在文档页面上没有发现任何差异。

【问题讨论】:

标签: google-app-engine gcloud gcloud-cli


【解决方案1】:

部署版本现在是明确的,不会从您的 yaml 文件中获取。有两种可能的情况:

1) 如果您使用 --version 标志,则使用您指定的任何版本。如果这与您的 yaml 文件中的值不匹配,则会出现错误。

2) 如果您不使用 --version 标志,则会为您生成一个版本号。这是您看到的错误,因为版本与您的 yaml 文件中的版本不匹配。

这里的正确解决方案是从您的 yaml 中删除版本属性(而不是试图让它们匹配)。

deploy 命令现在也不再将目录作为参数。您指定要显式部署的 yaml 文件。

【讨论】:

  • 谢谢马克,是的,从文件中删除版本号并使用 --version 标志解决了我的问题。现在我无法部署完整目录,我需要分别指定每个 .yaml 文件。
  • 嗨,马克,您能否在此答案中添加关于无法再部署完整目录的部分以使其完整?
  • 一个确切的命令行示例会很有帮助......并且,请不要经常更改内容:-(
  • @Jonny gcloud preview app deploy app.yaml deploy2.yaml --version=1 如果这是您的第一次部署,您可以选择任何您喜欢的版本。而在哪里是app.yaml,deploy.yaml,就是部署应用时要包含的yaml文件列表。
  • @Mark 能否请您也指出一个地方,其中 gcloud 版本更改(如发行说明)有更改?
【解决方案2】:

你可以试试下面的命令来部署应用吗

gcloud 预览应用部署 ~/my_app/app.yaml

对于具有不同模块的应用程序

gcloud preview app deploy ~/my_app/app.yaml \

~/my_app/another_module.yaml

【讨论】:

    【解决方案3】:
    1. gcloud preview app 命令行为已更改,请参阅更新的 documentation page
    2. 您能否确认两个 yaml 配置中的版本都设置为时间戳?尝试使用 --version 标志手动提供版本

    【讨论】:

    • 版本没有在 .yaml 文件中设置,但是当我尝试部署时,它已经在命令行中设置为全局设置。
    猜你喜欢
    • 2021-07-30
    • 2017-05-24
    • 2014-10-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-11-22
    • 2017-03-05
    • 2020-09-06
    相关资源
    最近更新 更多