[HowTo] Deployment mit Jenkins und Capistrano

Zu seinem Vortrag „Continuous Integration“ könnt ihr jetzt das HowTo von Thomas Wiedemann nachlesen. Ziel: ein beliebiges Webprojekt mit Hilfe von Jenkins und Capistrano per Knopfdruck auf unsere(n) Server deployen.

Jenkins-Server zum laufen bringen

Hier https://github.com/derTyp/webmontag/blob/master/Vagrant/Jenkins/Vagrantfile findet ihr das Vagrantfile welches zum Webmontag verwendet wurde (wie auch alle anderen Dateien & später evtl. noch einige mehr). Um jetzt eine VM zu starten, muss zunächst Vagrant (www.vagrantup.com) installiert werden. Dann mit der Konsole in das Verzeichnis wechseln, indem sich die Datei befindet und

$ vagrant up

ausführen. Auf die VM kann man sich nun mit

$vagrant ssh

verbinden. Alternativ mit dem SSH-Client seiner Wahl auf die IP im Vagrantfile oder 127.0.0.1:2222 mit vagrant:vagrant verbinden. Jetzt einige Libs nachrüsten (dieser Punkt entfällt später, wenn ich die Zeit hatte die bootstrap.sh anzupassen)

$ sudo apt-get install autoconf bison build-essential libssl-dev libyaml-dev libreadline6 libreadline6-dev zlib1g zlib1g-dev

Damit wir Capistrano verwenden können, benötigen wir jetzt noch Ruby. Um später in der Lage zu sein Ruby in verschiedenen Versionen verwenden zu können, nutzen wir rbenv.

rbenv installieren:

$ git clone https://github.com/ ~/.rbenv
$ echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bashrc

# jetzt Konsole neu starten und dann das ruby-build Plugin installieren

$ git clone https://github.com/
$ sudo ./ruby-build/install.sh

Nun können wir endlich Ruby selbst installieren (hier die Version die wir beim Vortrag verwendet haben)

$ rbenv install 1.9.3-p327

und als aktive Version auswählen

$ rbenv local 1.9.3-p327

Als letztes noch Bundler installieren

$ rbenv exec gem install bundler

und unser Jenkins ist fertig für den Einsatz.

Ihr könnt nun die Capistrano-Config-Files aus dem Repo anpassen und versuchen ein eigenes Deployment zum Laufen zu bringen. Solltet ihr hierbei noch Probleme haben, gern via Email an mich wenden: thomas.wiedemann84@gmail.com

Gern könnt ihr auch das Webmontag-Repository mit eigenen Gedanken, Versuchen oder Ideen anreichern. Ich würde mir außerdem die Freiheit nehmen und eventuelle Fragen die aufkommen als FAQ zusammen zu fassen und als Nachtrag hier zu ergänzen.

[HowTo] Deployment mit Jenkins und Capistrano

thomas

...

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert