【问题标题】:how to deploy golang app with dependencies to the app engine with gcloud?如何使用 gcloud 将具有依赖关系的 golang 应用程序部署到应用程序引擎?
【发布时间】:2016-07-09 15:46:14
【问题描述】:

我有一个使用“github.com/gorilla/mux”的应用程序,我可以使用goapp deploy 部署它。但是我不能对gcloud preview app deploy 做同样的事情,因为我遇到了这个错误:

Beginning deployment...
Copying files to Google Cloud Storage...
Synchronizing files to [<googlecloudsdk.api_lib.app.cloud_storage.BucketReference object at 0x10514e790>].
File upload done.
Updating module [api]...failed.
ERROR: (gcloud.preview.app.deploy) Error Response: [9] Deployment contains files that cannot be compiled: Compile failed:
2016/03/22 09:06:40 go-app-builder: build timing: 1×6g (42ms total), 0×6l (0 total)
2016/03/22 09:06:40 go-app-builder: failed running 6g: exit status 1

api.go:29: can't find import: "github.com/gorilla/handlers"

我希望能够做到这一点,因为我需要在合并时从 travisCI 进行部署,并且我想使用 service-client.json 进行授权。

有什么办法可以解决吗?

【问题讨论】:

  • this 有帮助吗?指向this page,它用于托管虚拟机,但看起来是同样的问题。
  • eadeploy 仅适用于应具有稍微不同的应用程序结构(主要功能等)的托管虚拟机。
  • 也有这个问题,但最终只使用goapp deploy
  • 我也一样,我现在在 CI 中使用我的 oauth_refrash_token。这里有一个相关的问题groups.google.com/forum/#!topic/google-appengine-go/eoSSKKN_VmI
  • 是否指定了您的$GOPATH?另外,您是否使用go get 来导入所需的包?您可以使用go list 确认已导入哪些包。

标签: google-app-engine go deployment gcloud


【解决方案1】:

要直接回答您的问题,解决此问题的方法是使用 goapp deploy,这是针对 Go 标准环境的 App Engine 文档Deploying a Go App 所推荐的。在gcloud preview app deploy可用的时候,正好推荐goapp来处理go的具体环境和依赖需求。

或者,如果您希望使用 gcloud,您现在需要使用 gcloud app deploygcloud preview app deploy 一直是deprecated and/or removed as of June 29, 2016

【讨论】:

    【解决方案2】:

    由于 Google Cloud SDK 142.0.0 和 app-engine-go 1.9.50,您应该能够部署您的应用程序做

    gcloud beta app deploy
    

    这也使您能够使用 CI/CD 工具

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-10-27
      • 2021-04-12
      • 2020-11-21
      • 1970-01-01
      • 2015-01-08
      • 2015-01-09
      • 2018-01-07
      • 2020-11-18
      相关资源
      最近更新 更多