2017-01-25 2 views
0

Ich versuche, den Workflow für die Bereitstellung einer Rails-Engine zu verstehen. Ich lese this answer. Aber ich verstehe nicht ganz, was zwischen Gemfile, Bundler, Capistrano und Rails vor sich geht.Bereitstellen einer App mit Engine mit Git und lokalen Versionen

Ich habe eine Situation, in der ich an einer App arbeite lokal zu einem Git-Repository drängen und mit Capistrano zu implementieren. In meiner apps

#gem 'my_engine', git: "[email protected]/myengine.git" 
gem 'my_engine', path: '/local/path/to/MyEngine' 

Gemfile Wenn ich entwickle auszukommen ich oft das Git Repository und meine lokalen verwenden (Ich weiß, einige Problem mit diesem in Anspruch nehmen, aber ein anderes Mal eine andere question), was will ich wissen, ist:

  • Wann ist der Motor enthalten oder montiert?
  • Wenn ich mit der lokalen Engine arbeite und entscheide, die App zu implementieren, ist die lokale Engine an dieser Stelle enthalten?
    • Wäre der lokale aktuelle Zweig/Staat, was verwendet wird?
    • Wenn ich beschließe, zu dem Repo für Produktion (und oder dev) zu wechseln, an welchem ​​Punkt ist das enthalten?
    • Führt Capistrano die Bundle-Installation während der Bereitstellung aus?
    • Würde Capistrano in der Lage sein, meine lokale Kopie zu verwenden, oder würde es mich brauchen, um das Git Repo zu verwenden?

Antwort

0

Motor und Host-Anwendung in demselben Repository dann

Angabe
gem 'my_engine', path: '/local/path/to/MyEngine' 

arbeiten.

Wenn Sie verschiedene Repository für Motor und Anwendung hatte müssen dann gem als

gem 'my_engine', git: '[email protected]:my_engine.git', 
         branch: 'master', revision: 'cb1a8d2495168d411676f58bdfc9015fe728948c' 

branch und revision sind optional angeben, aber seine empfohlen, wenn Sie es auf bestimmte verweisen soll begehen oder Zweig.

Stellen Sie sicher, dass der Benutzer deploy (Benutzer auf dem Server zur Bereitstellung der Anwendung) Zugriff auf das Engine-Repository hat.

Verwandte Themen