5

Tôi mới sử dụng Google cloud và tôi đang cố gắng triển khai lần đầu tiên. Triển khai đầu tiên của tôi là dự án Ruby on Rails.Mỗi khi tôi cố gắng triển khai, tôi nhận được - (gcloud.preview.app.deploy) Lỗi phản hồi: [4] DEADLINE_EXCEEDED

Về cơ bản, tôi đang theo dõi this guide in the google cloud documentation. Sự khác biệt duy nhất là tôi đang sử dụng dự án của riêng mình thay vì dự án 'hello world' mà họ cung cấp.

Đây là tập tin app.yaml tôi

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 

Khi tôi đi vào thư mục dự án của tôi và chạy gcloud preview app deploy nó bắt đầu triển khai nhưng dường như cuối cùng thời gian ra. Nó đưa ra lỗi (gcloud.preview.app.deploy) Error Response: [4] DEADLINE_EXCEEDED.

Thực hiện một số nghiên cứu tôi tìm thấy chạy gcloud preview app deploy với --verbosity debug cung cấp thêm thông tin gỡ lỗi nhưng không giúp tôi tìm thấy điều gì khiến ứng dụng hết thời gian chờ.

Đây là đoạn cuối cùng của nhật ký bảng điều khiển.

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 

Đây là cách xa nhất của nó, nhưng đôi khi cách giữa của nó thông qua cài đặt đá quý trước khi nó hết giờ và lần khác nó thậm chí không nhận được tối đa cài đặt đá quý.

Làm cách nào để ngăn điều này xảy ra?

Trả lời

6

Có thời gian chờ mặc định là 10 phút cho bản dựng Docker (cơ chế mà theo đó runtime: custom công cụ xây dựng Máy ứng dụng). Bạn có thể tăng điều này bằng cách chạy gcloud config set app/cloud_build_timeout [NUMBER OF SECONDS].

Bạn cũng có thể làm việc xung quanh bằng cách thực hiện xây dựng cho mình:

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 

Tuy nhiên, nói chung, Docker của bạn xây dựng nên không được tham gia này từ lâu. Nó thường tốt hơn để có một hình ảnh cơ bản với tất cả các phụ thuộc của bạn đã được xây dựng trong, và chỉ có xây dựng cuối cùng lấy được từ hình ảnh đó và cài đặt ứng dụng của bạn. Bằng cách này, các bản dựng của bạn sẽ nhanh hơn rất nhiều.

+0

Cảm ơn bạn đã giúp tôi không nhận được lỗi 'Lỗi phản hồi: [2] Không thành công; kiểm tra nhật ký xây dựng để biết chi tiết' khi tôi chạy 'gcloud preview app modules get-logs mymodule --version = 1' để nhận nhật ký, tôi không thể tìm thấy tệp nhật ký được lưu vào đâu. Bạn có biết nó sẽ ở đâu không? – Rob

Các vấn đề liên quan