5

Google bulutunda yeniyim ve ilk dağıtımımı yapmaya çalışıyorum. İlk dağıtımım Ruby on Rails projesi.Her dağıtımı yapmaya çalıştığımda - (gcloud.preview.app.deploy) Hata Yanıtı: [4] DEADLINE_EXCEEDED

Temel olarak this guide in the google cloud documentation'u izliyorum. Tek fark, kendi projemi kullandıkları "merhaba dünya" projesi yerine kullanıyorum.

Ben dağıtmaya başlar ama sonunda zaman aşımına görünüyor benim projem dizinine gidin ve gcloud preview app deploy çalıştırdığınızda Bu benim app.yaml dosya

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 

olduğunu. (gcloud.preview.app.deploy) Error Response: [4] DEADLINE_EXCEEDED hatasını verir.

Bazı araştırmalar yaptıktan sonra, --verbosity debug ile gcloud preview app deploy çalıştırmayı buldum, ekstra hata ayıklama bilgisi verir ancak zaman aşımına neden olan şeyi bulmama yardımcı olmaz.

İşte konsol günlüğünün son yığı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 

Bu gidene uzak, ama bazen ondan önce bile taşlar yüklemeden kadar almaz zaman aşımına uğrar ve diğer kere taşlar yükleme yoluyla orta yol.

Bunun oluşmasını nasıl engelleyebilirim?

cevap

6

Docker, (runtime: custom App Engine'in çalıştığı mekanizmayı oluşturan mekanizma için 10 dakikalık bir varsayılan zaman aşımı var) var. Bunu gcloud config set app/cloud_build_timeout [NUMBER OF SECONDS] çalıştırarak artırabilirsiniz.

Ayrıca kendinizi inşa gerçekleştirerek geçici bir çözüm olabilir:

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 

Ancak genel olarak, sizin Docker uzun bu sürmemesi gerekirdi yapýlar

. Genellikle yerleşik olan tüm bağımlılıklarınızla birlikte temel bir resme sahip olmak daha iyidir ve yalnızca bu görüntüden türetilen son yapıya sahip olmanız ve uygulamanızı yüklemeniz daha iyidir. Bu şekilde, yapılarınız çok daha hızlı olacaktır.

+0

Yardımın için teşekkürler Hata alıyorum 'Hata Yanıtı: [2] Yapı başarısız; Çalıştırmak için günlükleri kontrol edin '' gcloud önizleme uygulama modülleri get-logs mymodule --version = 1 'çalıştırdığımda günlük dosyasının kaydedildiği yeri bulamıyorum. Nerede olacağını biliyor musun? – Rob