Ich habe eine Rails 4-App, die Ruby 2.3 verwendet, die ich mit AWS Ebs bereitstellen möchte. Ich zeige die Db-Verbindung zu einer vorhandenen Datenbank, ich verwende den CLI, um zu initialisieren und zu erstellen. Als ich zum Teil halten mache ich erhalte eine Fehlermeldung erhalten, die sagt:Die Rails-App kann nicht auf elastischem Beanstalk bereitgestellt werden
Hook /opt/elasticbeanstalk/hooks/appdeploy/pre/12_db_migration.sh failed. For more detail, check /var/log/eb-activity.log using console or EB CLI.
Was natürlich bedeutet die Migration fehlgeschlagen. Als ich die Protokolle überprüft habe, sind bereits Tabellen vorhanden. Ich habe einige Nachforschungen angestellt und festgestellt, dass Sie Einstellungen in .ebextensions/
einfügen können, um festzulegen, dass keine Migrationen ausgeführt werden oder ein Bundle für Test und Entwicklung ausgeführt werden soll. Hier ist meine .ebextensions/ruby-settings.config
:
option_settings: BUNDLE_WITHOUT: "test:development" RAILS_ENV: production RACK_ENV: production RAILS_SKIP_MIGRATIONS: true
aber es immer noch nicht einsetzen und gibt die gleiche Fehlermeldung. Die Frage ist, was mache ich hier falsch? Ich habe versucht, diese Konfigurationsdatei auf verschiedene Weisen neu zu schreiben basierend auf Tutorials, die ich auf dieser blog und der AWS-Dokumentseite here fand.
Irgendwelche Gedanken darüber, was ich falsch mache, sind hilfreich, da ich momentan ratlos bin.
gleiches Problem und wenn ich überprüfe die Protokolle i dies bemerkt: '++ Export RAILS_SKIP_MIGRATIONS = false' ' ++ RAILS_SKIP_MIGRATIONS = false' – WhyAyala
Gut, der peinlichen wird. Nachdem ich meine zuletzt hochgeladene Zip-Datei meiner App überprüft hatte, stellte ich fest, dass .exextensions nicht enthalten war. Als ich anfing, daran zu arbeiten, dachte ich, es sei notwendig, das Verzeichnis zu .gitignore hinzuzufügen, genauso wie das Verzeichnis .elasticbeanstalk. Alles funktioniert jetzt, wenn ich "eb create" starte – WhyAyala