Integration von Heroku und Github (wie man das Projekt strukturiert)
Ich bin momentan dabei, einen webservice, und ich möchten, speichern Sie die Quelle auf github und ausführen der app auf heroku. Ich habe nicht gesehen, meine genaue Szenario angesprochen, überall auf der 'net so weit, also werde ich bitten es hier:
Möchte ich die folgende Verzeichnisstruktur haben:
/project
.git
README <-- project readme file
TODO.otl <-- project outline
... <-- other project-related stuff
/my_rails_app
app
config
...
README <-- rails' readme file
In dem oben genannten Projekt entspricht http://github.com/myuser/projectund my_rails_app ist der code, sollte geschoben werden heroku. Brauche ich einen separaten Zweig für die rails-app, oder gibt es eine einfachere Möglichkeit, die mir fehlt?
Denke ich, dass meine Projekt-bezogene nicht-Schienen-Dateien konnte in my_rails_app, aber die Schienen README lebt bereits dort, und es scheint unvereinbar zu überschreiben. Allerdings, wenn ich es verlassen, mein github-Seite für die rails-app enthalten, die Schienen readme-Datei, die keinen Sinn macht.
Auch ... ich habe versucht nur die Einstellung, wie oben beschrieben, und ausgeführt
git push heroku
vom Haupt-Projekt-Ordner. Natürlich, heroku nicht weiß, möchte ich zur Bereitstellung der Unterordner:
-----> Heroku receiving push
! Heroku push rejected, no Rails or Rack app detected.
InformationsquelleAutor der Frage g33kz0r | 2010-03-16
Du musst angemeldet sein, um einen Kommentar abzugeben.
Hier ist eine einfache Lösung, die möglicherweise oder möglicherweise nicht für Sie arbeiten.
Erstellen Sie zwei Projekte auf GitHub. Ein Projekt sollte nur die Rails-app (d.h. alles innerhalb der Rails-app Verzeichnis). Das andere Projekt sollte alles, was außerhalb der Rails-app Verzeichnis.
Fügen Sie die Rails-app-Projekt als git-submodule in den "container" - Projekt.
Jetzt können Sie hinzufügen Heroku als remote auf die Rails-app-repository getrennt und schieben Sie es auf heroku. Heroku übernehmen die schieben, weil es nur eine Rails-app mit der erwarteten Verzeichnisse und Dateien.
InformationsquelleAutor der Antwort yfeldblum
Einer Lösung für die Heroku-situation (nicht die README-Datei):
Wenn Sie mit der neuen Heroku Zeder (ich glaube, es war nicht verfügbar, wenn Sie zunächst gebeten, Ihre Frage) dann werden Ihre Prozesse (wie die rails server-Prozess) - start-up mit Vorarbeiter. So können Sie eine
Procfile
im root-github-Verzeichnis, das wie folgt aussieht:Dann
my_rails_app/script/runserver.sh
könnte eine einfacheLokal, sollten Sie auch erstellen Sie eine Datei namens
.env
(beachten Sie die . am Anfang), enthältDiese Datei wird gelesen durch Vorarbeiter und verwendet, um die Umgebungsvariablen so, dass der port festgelegt, wenn Sie ausführen
foreman start
Ihrer Maschine auf (von der Wurzel github-Verzeichnis, wo die Procfile liegt). Der Heroku-server kümmert sich um die .env-Datei auf Ihrem Prüfstand. Der große Vorteil: Sie können mehrere Prozesse auf dem Prüfstand!InformationsquelleAutor der Antwort Nimrod Priell
Einfach überschreiben Schiene " Standard
README
- Datei. Es gibt keinen Grund zu halten rund. Legen Sie Ihre andere Projekt-management-bezogene Dinge in derdoc
- Verzeichnis. Obwohl Sie sicherlich triftige Gründe haben für den Wunsch, um es einzurichten, wie Sie es Tat, sind Sie nur die Schaffung eines Kopfschmerzen für Sie, indem Sie gegen die Konvention, und es lohnt sich wahrscheinlich nicht nutzen.InformationsquelleAutor der Antwort John Wilger
Möchte ich hinzufügen, alles unter
/my_rails_app
auf der Heroku git-repository. Dann fügen Sie GitHub als remote hinzufügen und alles unter/project
zum GitHub-repository. Dann können Sie drücken Sie die Rails-Anwendung auf Heroku (aus/my_rails_app
) und schieben Sie das ganze Projekt auf GitHub (von/project
).InformationsquelleAutor der Antwort John Topley