Google app engine Appengine的云构建和通过--imag url部署

Google app engine Appengine的云构建和通过--imag url部署,google-app-engine,google-cloud-platform,google-cloud-build,Google App Engine,Google Cloud Platform,Google Cloud Build,这是我失败的最后一步。从日志来看,它似乎试图构建服务,而不是使用提供的参数--image url=blah。我可以看到所有参数都正确传递。有什么想法吗?原因是什么 - name: "gcr.io/cloud-builders/gcloud" args: [ "app", "deploy", "cmd/service-api/appengconf/dev/service-api-dev-app.yaml", "

这是我失败的最后一步。从日志来看,它似乎试图构建服务,而不是使用提供的参数
--image url=blah
。我可以看到所有参数都正确传递。有什么想法吗?原因是什么

  - name: "gcr.io/cloud-builders/gcloud"
    args:
      [
        "app",
        "deploy",
        "cmd/service-api/appengconf/dev/service-api-dev-app.yaml",
        "--image-url=gcr.io/${PROJECT_ID}/service-api:${TAG_NAME}",
      ]
在一个建议之后,我添加了额外的步骤来替换
图像
,但是仍然失败

实际错误
退出代码-1


当使用预构建映像部署应用程序时,您应该只向
gcloud app deploy
命令提供映像,而不是app.yaml文件,如图所示。您的云构建步骤应该是:

- name: "gcr.io/cloud-builders/gcloud"
    args:
      [
        "app",
        "deploy",
        "--image-url=gcr.io/${PROJECT_ID}/service-api:${TAG_NAME}",
      ]

问题可能是图像对应用程序引擎不可用。。。为了将图像推送到App Engine,它需要首先出现在注册表中。您的云构建配置在构建步骤和部署步骤之间是否有推送步骤?如果没有,您可能需要添加一个(您不能依赖“”字段,因为这会在所有其他步骤完成后推送图像)

比如说:

steps:
- name: "gcr.io/cloud-builders/docker"
  args: ["build","-t","<foo>","."]
- name: "gcr.io/cloud-builders/docker"
  args: ["push","-t","<foo>"]
- name: "gcr.io/cloud-builders/gcloud"
  args: ["app","deploy",<etc>]
步骤:
-名称:“gcr.io/cloud builders/docker”
参数:[“build”、“-t”、“,”]
-名称:“gcr.io/cloud builders/docker”
args:[“推送”、“-t”、“”]
-名称:“gcr.io/cloud builders/gcloud”
参数:[“应用程序”、“部署”,]

挖掘、修补之后。。。我发现只通过
Flex
env支持for
go111
。由于我现在确实不需要
Flex
和该功能,所以没有关键的回滚到
standard

,我在
app.yaml
中有特殊的设置,具体取决于哪个容器。如何处理?顺便说一句,我在没有app.yaml的情况下尝试过,并且
cloud build
抱怨应该显示该文件。如果gcloud命令从app.yaml文件所在的文件夹运行,则可以忽略app.yaml参数。您可以在构建步骤中使用我可以尝试的“dir”字段指定它。
步骤4-“gcloud app deploy”:错误:(gcloud.app.deploy)[/workspace/cmd/service api/appengconf/dev]无法识别为有效的源目录或文件。
但在该步骤之前,我添加了
cat that…app.yaml
,因此我100%存在该路径。当生成步骤失败时,您收到的实际错误消息是什么?@LundinCast已添加