5

Je suis nouveau sur Google Cloud et j'essaie de faire mon premier déploiement. Mon premier déploiement est un projet Ruby on Rails.Chaque fois que j'essaie de déployer, je reçois - (gcloud.preview.app.deploy) Réponse d'erreur: [4] DEADLINE_EXCEEDED

Je suis essentiellement this guide in the google cloud documentation. La seule différence étant que j'utilise mon propre projet à la place du projet "hello world" qu'ils fournissent.

Ceci est mon fichier 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 

Quand je vais à mon répertoire projet et exécutez gcloud preview app deploy il démarre le Deploy, mais semble finalement le temps. Il donne l'erreur (gcloud.preview.app.deploy) Error Response: [4] DEADLINE_EXCEEDED. Faire une recherche que j'ai trouvé en cours d'exécution gcloud preview app deploy avec --verbosity debug donne des informations de débogage supplémentaires, mais cela ne m'aide pas à trouver ce qui l'amène à l'expiration du délai.

Voici le dernier segment du journal de la console.

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 

Ceci est le plus son parti, mais parfois sa mi-chemin à travers l'installation des pierres précieuses avant son expiration et d'autres fois, il n'a même pas obtenu jusqu'à l'installation des pierres précieuses.

Comment puis-je empêcher que cela se produise?

Répondre

6

Il existe un délai d'expiration par défaut de 10 minutes pour les versions Docker (le mécanisme par lequel runtime: custom App Engine crée le travail). Vous pouvez augmenter cela en exécutant gcloud config set app/cloud_build_timeout [NUMBER OF SECONDS].

Vous pouvez également contourner en effectuant la construire vous-même:

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 

Cependant, en général, votre Docker builds ne devrait pas prendre longtemps. Il est généralement préférable d'avoir une image de base avec toutes vos dépendances déjà intégrées, et de faire en sorte que la construction finale dérive de cette image et installe votre application. De cette façon, vos builds seront beaucoup plus rapides.

+0

Merci pour l'aide que je n'ai pas l'erreur 'Error Response: [2] Build failed; vérifier les journaux de construction pour les détails »quand je cours' gcloud aperçu app modules get-logs mymodule --version = 1' pour obtenir les journaux je ne peux pas trouver où le fichier journal est enregistré. Savez-vous où ce serait? – Rob