168 votes

Erreur de déploiement Heroku H10 (App crashed)

J'ai une application RoR qui fonctionne sur mon ordinateur local, mais lorsque je l'envoie à heroku, elle se plante. Le journal des erreurs donne une erreur H10 et dit :

    2012-11-21T15:26:47+00:00 app[web.1]:   from /app/vendor/bundle/ruby/1.9.1/gems/newrelic_rpm-3.4.2/lib/new_relic/control/instance_methods.rb:95:in `start_agent'
    2012-11-21T15:26:48+00:00 heroku[web.1]: State changed from starting to crashed
    2012-11-21T15:26:48+00:00 heroku[web.1]: Process exited with status 1
    2012-11-21T15:26:59+00:00 heroku[router]: at=error code=H10 desc="App crashed" method=GET path=/ host=xxx.herokuapp.com fwd= dyno= queue= wait= connect= service= status=503 bytes=
    2012-11-21T15:27:00+00:00 heroku[router]: at=error code=H10 desc="App crashed" method=GET path=/favicon.ico host=xxx.herokuapp.com fwd= dyno= queue= wait= connect= service= status=503 bytes=
    2012-11-21T15:30:08+00:00 heroku[router]: at=error code=H10 desc="App crashed" method=GET path=/ host=xxx.herokuapp.com fwd= dyno= queue= wait= connect= service= status=503 bytes=
    2012-11-21T15:30:08+00:00 heroku[router]: at=error code=H10 desc="App crashed" method=GET path=/favicon.ico host=xxx.herokuapp.com fwd= dyno= queue= wait= connect= service= status=503 bytes=
    2012-11-21T15:30:59+00:00 heroku[router]: at=error code=H10 desc="App crashed" method=GET path=/favicon.ico host=xxx.herokuapp.com fwd= dyno= queue= wait= connect= service= status=503 bytes=
    2012-11-21T15:31:19+00:00 heroku[router]: at=error code=H10 desc="App crashed" method=GET path=/ host=xxx.herokuapp.com fwd= dyno= queue= wait= connect= service= status=503 bytes=
    2012-11-21T15:31:19+00:00 heroku[router]: at=error code=H10 desc="App crashed" method=GET path=/favicon.ico host=xxx.herokuapp.com fwd= dyno= queue= wait= connect= service= status=503 bytes=
    2012-11-21T15:32:08+00:00 heroku[router]: at=error code=H10 desc="App crashed" method=GET path=/favicon.ico host=xxx.herokuapp.com fwd= dyno= queue= wait= connect= service= status=503 bytes=
    2012-11-21T15:32:08+00:00 heroku[router]: at=error code=H10 desc="App crashed" method=GET path=/ host=xxx.herokuapp.com fwd= dyno= queue= wait= connect= service= status=503 bytes=

Edit :

2012-11-22T10:00:58+00:00 app[web.1]: 
2012-11-22T10:00:59+00:00 heroku[router]: at=info method=GET path=/favicon.ico host=xxx.herokuapp.com fwd= dyno=web.1 queue=0 wait=0ms connect=1ms service=26ms status=200 bytes=0

Quelqu'un a-t-il déjà été confronté à ce problème et sait-il ce qui peut en être la cause ? Je ne trouve pas de solution.

Gracias.

10voto

Gregory Points 111

J'ai eu le même problème ce soir. L'erreur n'étant pas très utile, j'ai essayé de l'exécuter dans la console.

heroku run rails c

il a échoué et m'a donné une erreur beaucoup plus utile. J'avais négligé de supprimer un appel de méthode dans la production. Une fois que j'ai corrigé cela, l'application a fonctionné correctement.

6voto

Frank C Jones Points 87

J'ai résolu ce problème en poussant vers Git :

git add .
git commit -am "some text"
git push

puis pousser vers Heroku :

git push heroku

puis rake db:migrate sur Heroku :

heroku run rake db:migrate

4voto

Victor Vargas Points 71

Si vous utilisez Node, vous pouvez essayer d'exécuter la commande serve directement dans la console. Dans mon cas, j'utilise une application angulaire, donc j'ai essayé avec :

heroku run npm start

Cela m'a montré l'erreur exacte pendant le démarrage de l'application.

3voto

Joe Mellin Points 41

J'ai réussi à ne pas inclure mon fichier .gitignore -> cela casse heroku. #doh

Voici un fichier .gitignore fonctionnel

/.bundle
/vendor/bundle/
/vendor/ruby/

db/*.sqlite3
/db/*.sqlite3-journal
/log/*
/tmp/*

**.war
*.rbc
*.sassc
.redcar/
.sass-cache
/config/config.yml
/config/database.yml
/coverage.data
/coverage/
/db/*.javadb/
/db/*.sqlite3
/doc/api/
/doc/app/
/doc/features.html
/doc/specs.html
/public/cache
/public/stylesheets/compiled
/public/system/*
/spec/tmp/*
/cache
/capybara*
/capybara-*.html
/gems
/specifications
rerun.txt
pickle-email-*.html
.zeus.sock

**.orig

.DS_Store

/nbproject/

.idea

/*.tmproj

**.swp

.env
.powenv

Pour créer un fichier .gitignore, dans le terminal, naviguez dans le répertoire de vos applications et utilisez la commande suivante

touch .gitignore

Vous pouvez ensuite l'ouvrir dans un éditeur de texte et y insérer le code ci-dessus.

3voto

devudilip Points 505

Dans mon cas, j'utilisais des variables ENV dans mon application, mais elles n'étaient pas définies dans la configuration d'Heroku.

La console Heroku a donné une erreur correcte :

heroku console
`validate_options': Missing required arguments: aws_access_key_id, aws_secret_access_key (ArgumentError)

Ensuite, définissez la configuration ENV

heroku config:set AWS_ACCESS_KEY_ID='key'

Redémarrer le Heroku

heroku restart

ça marche !

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X