Posts getagged mit ‘Deployment’

Capistrano mit PHP und Git

Sunday, 3. November 2013

Ich hatte Capistrano vor zwei Jahren schon für meine Rails-Projekte kenenngelernt. Nils zeigt auf seiner Seite Vortrieb, wie Capistrano auch kinderleicht für PHP-Projekte eingesetzt werden kann. Danke Nils!

Rails deployment einfach gemacht

Saturday, 15. August 2009

Bis vor Kurzem habe ich mich noch damit herumgeplagt, wie man Rails Applikationen am besten deployed. Irgendwie sollte man sich bei Rails daran gewöhnen, dass es in der Regel immer jemanden gibt, der sich diese Gedanken längst gemacht hat und eine gute Lösung parat hat. Findet man allerdings keine Lösung, dann sollte man genauestens über das Ziel nachdenken, das man gerade anvisiert ;)

Zum Thema Deployment mit Rails:  https://support.railsmachine.com/index.php?pg=kb.page&id=12

Hier findet ihr die sogenannte Railsmachine. Achtet darauf, dass das Gem Railsmachine mit den Standardinstallationen von Debian / Etch (aktuell 0.9.4) nicht gefunden wird. Dazu einfach auf Gem 1.3.5 updaten (siehe letzter Post). Die Railsmachine hilft euch – so wie es der Name schon sagt – beimAufsetzen einer Railsmaschine auf eurem Rootserver.

Als Erweiterung zum Tutorial musste ich feststellen, dass

railsmachine --apply-to . --name MyApp --domain my.cool.domain

einen Standarduser “deploy” anlegt, mit welchem Capi sich dann per ssh und auf die Datenbank verbinden möchte. Dementsprechend solltet ihr entweder einen deploy-user anlegen oder eben die deploy.rb (in config) auf einen passenden User anpassen.

Zusätzlich hat bei mir die railsmachine den mongrel-Server nicht installiert. Ob das immer so ist, weiß ich nicht genau. Aber was soll’s, dann installieren wir ihn halt nach :) Dazu braucht es allerdings eine Ruby-Entwickungsumgebung. Da wir später auch noch clustern wollen, nehmen wir mongrel_cluster auch noch gleich mit. Und bitte:

$ apt-get install ruby1.8-dev build-essential
$ gem install mongrel
$ gem install mongrel_cluster

Als nächstes müssen wir unseren Mongrel-Cluster erst einmal konfigurieren und die init-Skripte anlegen etc. Hierzu gibt es zwei schöne Tutorials:

1. Ubuntu Gutsy – Mongrel Clusters

und ein zweites, das allerdigs stärker den Capistrano einbindet:

2. Time for a grown up server

Beachtet bitte, dass beim Konfigurieren eurer cluster.yml auf jeden Fall die Zeile cwd: /var/projects/PROJEKTNAME vorhanden sein muss, da mongrel von hier aus relativ euer log sucht.