Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/60.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 每次尝试部署时,我都会得到-(gcloud.preview.app.deploy)错误响应:[4]超过最后期限\u_Ruby On Rails_Ruby_Google Cloud Platform_Gcloud_Google Cloud Sdk - Fatal编程技术网

Ruby on rails 每次尝试部署时,我都会得到-(gcloud.preview.app.deploy)错误响应:[4]超过最后期限\u

Ruby on rails 每次尝试部署时,我都会得到-(gcloud.preview.app.deploy)错误响应:[4]超过最后期限\u,ruby-on-rails,ruby,google-cloud-platform,gcloud,google-cloud-sdk,Ruby On Rails,Ruby,Google Cloud Platform,Gcloud,Google Cloud Sdk,我是谷歌云的新手,我正在尝试第一次部署到它。我的第一个部署是RubyonRails项目 我基本上是跟着。唯一的区别是我使用的是我自己的项目,而不是他们提供的“hello world”项目 这是我的app.yaml文件 runtime: custom vm: true entrypoint: bundle exec rackup -p 8080 -E production config.ru resources: cpu: 0.5 memory_gb: 1.3 disk_size_gb

我是谷歌云的新手,我正在尝试第一次部署到它。我的第一个部署是RubyonRails项目

我基本上是跟着。唯一的区别是我使用的是我自己的项目,而不是他们提供的“hello world”项目

这是我的app.yaml文件

runtime: custom
vm: true
entrypoint: bundle exec rackup -p 8080 -E production config.ru
resources:
  cpu: 0.5
  memory_gb: 1.3
  disk_size_gb: 10
当我转到我的项目目录并运行
gcloud preview app deploy
时,它会启动部署,但最终似乎会超时。它给出了错误
(gcloud.preview.app.deploy)错误响应:[4]超过了截止日期

在做一些研究时,我发现使用
运行
gcloud preview app deploy
——verbosity debug
会提供额外的调试信息,但它不能帮助我找到导致它超时的原因

这是控制台日志的最后一块

Bundle complete! 35 Gemfile dependencies, 102 gems now installed.
Bundled gems are installed into ./vendor/bundle.
Post-install message from rdoc:
Depending on your version of ruby, you may need to install ruby rdoc/ri data:

<= 1.8.6 : unsupported
 = 1.8.7 : gem install rdoc-data; rdoc-data --install
 = 1.9.1 : gem install rdoc-data; rdoc-data --install
>= 1.9.2 : nothing to do! Yay!
Post-install message from compass:
    Compass is charityware. If you love it, please donate on our behalf at http://umdf.org/compass Thanks!
DEBUG: Operation [operations/build/guidir-1286/MmFkZjNmOGYtZDhhZi00NTJmLTk0YWEtMmQzMjBmM2JkOTg2OlVT] complete. Result: {
    "metadata": {
        "@type": "type.googleapis.com/google.devtools.cloudbuild.v1.BuildOperationMetadata", 
        "build": {
            "finishTime": "2016-04-20T01:55:44.961635Z", 
            "status": "TIMEOUT", 
            "timeout": "600.000s", 
            "projectId": "guidir-1286", 
            "id": "2adf3f8f-d8af-452f-94aa-2d320f3bd986", 
            "source": {
                "storageSource": {
                    "object": "us.gcr.io/guidir-1286/appengine/default.20160420t110030:latest", 
                    "bucket": "staging.guidir-1286.appspot.com"
                }
            }, 
            "steps": [
                {
                    "args": [
                        "us.gcr.io/guidir-1286/appengine/default.20160420t110030:latest"
                    ], 
                    "name": "gcr.io/cloud-builders/dockerizer"
                }
            ], 
            "startTime": "2016-04-20T01:45:43.216420Z", 
            "logsBucket": "staging.guidir-1286.appspot.com", 
            "images": [
                "us.gcr.io/guidir-1286/appengine/default.20160420t110030:latest"
            ], 
            "createTime": "2016-04-20T01:45:41.861657Z"
        }
    }, 
    "done": true, 
    "name": "operations/build/guidir-1286/MmFkZjNmOGYtZDhhZi00NTJmLTk0YWEtMmQzMjBmM2JkOTg2OlVT", 
    "error": {
        "message": "DEADLINE_EXCEEDED", 
        "code": 4
    }
}
DEBUG: (gcloud.preview.app.deploy) Error Response: [4] DEADLINE_EXCEEDED
Traceback (most recent call last):
  File "/Users/Robert/google-cloud-sdk/lib/googlecloudsdk/calliope/cli.py", line 654, in Execute
    result = args.cmd_func(cli=self, args=args)
  File "/Users/Robert/google-cloud-sdk/lib/googlecloudsdk/calliope/backend.py", line 1401, in Run
    resources = command_instance.Run(args)
  File "/Users/Robert/google-cloud-sdk/lib/surface/preview/app/deploy.py", line 507, in Run
    config_cleanup)
  File "/Users/Robert/google-cloud-sdk/lib/googlecloudsdk/api_lib/app/deploy_command_util.py", line 195, in BuildAndPushDockerImages
    storage_client)
  File "/Users/Robert/google-cloud-sdk/lib/googlecloudsdk/api_lib/app/deploy_command_util.py", line 245, in _BuildImagesWithCloudBuild
    image.tag, cloudbuild_client)
  File "/Users/Robert/google-cloud-sdk/lib/googlecloudsdk/api_lib/app/cloud_build.py", line 181, in ExecuteCloudBuild
    retry_callback=log_tailer.Poll)
  File "/Users/Robert/google-cloud-sdk/lib/googlecloudsdk/api_lib/app/api/operations.py", line 69, in WaitForOperation
    encoding.MessageToPyValue(completed_operation.error)))
OperationError: Error Response: [4] DEADLINE_EXCEEDED
ERROR: (gcloud.preview.app.deploy) Error Response: [4] DEADLINE_EXCEEDED
Bundle完成!35个Gemfile依赖项,102个Gem现已安装。
捆绑的gems安装到./vendor/bundle中。
来自rdoc的安装后消息:
根据您的ruby版本,您可能需要安装ruby rdoc/ri数据:
=1.9.2:无事可做!耶!
来自compass的安装后消息:
指南针是慈善用品。如果你喜欢它,请代表我们在http://umdf.org/compass 谢谢
调试:操作[operations/build/guidir-1286/mmfkzjnmogytzdhzi00ntjmltk0ywetmmqzmjbmm2jkotg2olvt]完成。结果:{
“元数据”:{
“@type”:“type.googleapis.com/google.devtools.cloudbuild.v1.BuildOperationMetadata”,
“构建”:{
“完成时间”:“2016-04-20T01:55:44.961635Z”,
“状态”:“超时”,
“超时”:“600.000s”,
“projectId”:“guidir-1286”,
“id”:“2adf3f8f-d8af-452f-94aa-2d320f3bd986”,
“来源”:{
“存储源”:{
“对象”:“us.gcr.io/guidir-1286/appengine/default.20160420t110030:最新版本”,
“bucket”:“staging.guidir-1286.appspot.com”
}
}, 
“步骤”:[
{
“args”:[
“us.gcr.io/guidir-1286/appengine/default.20160420t110030:最新版本”
], 
“名称”:“gcr.io/cloud builders/dockerizer”
}
], 
“开始时间”:“2016-04-20T01:45:43.216420Z”,
“logsBucket”:“staging.guidir-1286.appspot.com”,
“图像”:[
“us.gcr.io/guidir-1286/appengine/default.20160420t110030:最新版本”
], 
“createTime”:“2016-04-20T01:45:41.861657Z”
}
}, 
“完成”:正确,
“名称”:“operations/build/guidir-1286/mmfkzjnmogytzdhzi00ntjmltk0ywetmmqzmjbmm2jkotg2olvt”,
“错误”:{
“消息”:“超过截止日期”,
“代码”:4
}
}
调试:(gcloud.preview.app.deploy)错误响应:[4]已超过最后期限\u
回溯(最近一次呼叫最后一次):
文件“/Users/Robert/googlecloudsdk/lib/googlecloudsdk/calliope/cli.py”,第654行,在Execute中
结果=args.cmd_func(cli=self,args=args)
文件“/Users/Robert/googlecloudsdk/lib/googlecloudsdk/calliope/backend.py”,第1401行,正在运行
resources=command\u instance.Run(args)
文件“/Users/Robert/googlecloudsdk/lib/surface/preview/app/deploy.py”,第507行,正在运行
配置(清理)
BuildAndPushDockerImages中的文件“/Users/Robert/google cloud sdk/lib/googlecloudsdk/api_lib/app/deploy_command_util.py”,第195行
存储(U客户端)
文件“/Users/Robert/google cloud sdk/lib/googlecloudsdk/api_lib/app/deploy_command_util.py”,第245行,位于BuildImagesWithCloudBuild中
image.tag,cloudbuild\u客户端)
文件“/Users/Robert/google cloud sdk/lib/googlecloudsdk/api_lib/app/cloud_build.py”,第181行,在ExecuteCloudBuild中
重试\u回调=日志\u tailer.Poll)
文件“/Users/Robert/googlecloudsdk/lib/googlecloudsdk/api_lib/app/api/operations.py”,第69行,在WaitForOperation中
encoding.MessageToPyValue(已完成的_操作.error)))
操作错误:错误响应:[4]已超过最后期限\u
错误:(gcloud.preview.app.deploy)错误响应:[4]超过了最后期限\u
这是它走得最远的一次,但有时在它超时之前安装gems已经走到了中途,而有时甚至无法安装gems


如何阻止这种情况发生?

Docker生成有10分钟的默认超时时间(运行时
自定义
应用程序引擎生成工作的机制)。您可以通过运行
gcloud config set app/cloud\u build\u timeout[秒数]
来增加此值

您还可以通过自己执行构建来解决此问题:

docker build . -t gcr.io/myapp/myimage
gcloud docker push gcr.io/myapp/myimage
gcloud preview app deploy app.yaml --image-url=gcr.io/myapp/myimage

然而,一般来说,Docker构建不会花费这么长时间。通常,最好有一个包含所有依赖项的基本映像,并从该映像派生出最终版本,然后安装应用程序。这样,您的构建将更快。

当整个请求超时时,会出现此错误

任务队列请求的执行限制为10分钟。 通过键入
gcloud config set app/cloud\u build\u timeout[timeout\u SECONDS]

范例

gcloud config set app/cloud_build_timeout 1000

感谢您的帮助,我没有得到错误
错误响应:[2]生成失败;运行
gcloud preview app modules get logs mymodule--version=1时,请检查生成日志以了解详细信息
,以获取无法找到日志文件保存位置的日志。你知道它会在哪里吗?
gcloud docker
应该被
gcloud auth configure docker docker push
替换,因为18.03 docker版本
警告:18.03以上的docker客户端版本将不支持“gcloud docker”。