Dennis Lizarzaburu

Dennis  Lizarzaburu

I'm a frontend developer from kiel, germany.

Blog

Capistrano und all-inkl

Diese Anleitung funktioniert nur mit Capistrano 2.x. Ein Update für v3.x folgt bald.

Capistrano ist eine Deployment-Software, die es euch ermöglicht eure Internetseite auf euren Server zu kopieren. Capistrano ist in Ruby geschrieben und kann als RubyGem verwendet werden. Eine Anleitung zum Installieren von Capistrano findet ihr auf github.

Um Capistrano mit diesem Einstellungen zu verwenden muss euer Projekt bereits als Git-Repository auf eurem all-inkl-Server liegen. Wie ihr Git einrichtet könnt ihr in dem Blogpost all-inkl und git lesen.

Um Capistrano für euer Projekt einzurichten geht ihr in euer lokales Repository und führt folgenden Befehl aus:

capify .

Ihr findet nun eine CAPFILE und einen Ordner config mit einer deploy.rb. Die CAPFILE bleibt unverändert. Die deploy.rb müsst ihr nun anpassen. In diesem Bespiel verwende ich meine Domain als Beispieldomain. Zunächst löscht ihr den Inhalt der Datei und gebt folgende Informationen an:

# Eure Domain
set :domain , 'dennislizarzaburu.de'
# SSH-Benutzer
set :user , 'ssh-w000000'

Die Domain ersetzt ihr durch eure Domain. Den SSH-Benutzer 'ssh-w000000' ersetzt ihr mit eurem SSH-Login aus dem KAS.

Nun geben wir Capistrano die Information, dass wir git verwenden.

set :scm , :git

Da das Quell und Ziel Verzeichnis beide auf dem selben Server liegen müssen wir dieses auch in der Konfiguration angeben.

# Das Repository liegt auf dem gleichen Server
set :local_repository, 'file://.'
# Absoluter Pfad zum Repository auf eurem Server
set :repository, 'file:///www/htdocs/w000000/git/dennislizarzaburu.git'
# Das Zielverzeichnis
set :deploy_to, '/www/htdocs/w000000/www/dennislizarzaburu/'

Fügt folgende Zeilen ein und passt sie ggf. an. 

# Der Branch, aus dem ihr deployen wollt
set :branch, 'master'
# Wir wollen/dürfen auf dem Server kein sudo verwenden
set :use_sudo, false
# Wir wollen uns mit SSH-Keys einloggen
ssh_options[:forward_agent] = true
# Nur auf diese Webseite deployen
role :website, domain, :primary => true

Eure deploy.rb ist nun fertig. Im nächsten Schritt müsst ihr den Server für das Deployen vorbereiten. Der folgende Befehl übernimmt die Einrichtung auf dem Server.

cap deploy:setup

Auf dem Server erscheinen nun drei Ordner: current, shared und releases. Ein letzter Befehl und die Webseite wird deployed:

cap deploy