Inspiriert durch eine langsam Fahrt aufnehmende Umstellung meines Arbeitgebers hab ich dran gemacht, die Quellcode-Verwaltung meiner Nicht-Opensource-Projekte vom in die Jahre gekommenen Subversion zu Git zu migrieren. Erster Schritt: GitLab einrichten!
Da mein Hoster HostEurope bis dato noch nicht imstande war, VServer mit Ubuntu 14.04 LTS anzubieten, ich aber nicht jetzt erst noch auf 12.04 LTS umschwenken will, blieb mir nur GitLab auf 10.04 zum Laufen zu bringen. Leider gibt es für dessen aktuelle Version keine gezielte Anleitung, sondern nur eine veraltete Anleitung aus 2012.
Ich folgte also der der offiziellen Anleitung zu GitLab 7.6 so gut es geht..
Ruby 2.x installieren
Einfach der Anleitung folgen und aus den Quellen kompilieren.. make
& make install
dauert bissl.
MySQL Datenbank aufsetzen
Einfach der Anleitung folgen.. bei mir recht einfach über die Plesk 12 Oberfläche..
Redis 2.x installieren
Ubuntu 10.04 liefert nur Redis 1.x mit, GitLab braucht diesen aber für Zugriff via Socketfile statt Port. Aber auf Launchpad gibt ein nutzergepflegtes Paket.
sudo add-apt-repository ppa:tsuru/redis-server
sudo apt-get update
sudo apt-get install redis-server
oder falls bereits installiert
sudo apt-get upgrade
und dann der Anleitung folgen…
User einrichten
Einfach der Anleitung folgen..
GitLab selbst einrichten
Jetzt wirds ernst.. munter gehts durch die Anleitung … Source clonen & Konfig war kein Hit. bundle install
wirft als User git leider Passwort-Abfragen, also versuch ichs als root. Dann weiter der Anleitung folgen, sodass am Schluss beim Check Application Status ordentliche Werte gezeigt werden. Und nach der Assert-Erstellung, wobei die JS-Erstellung ewig gedauert hat, startete sudo service gitlab start
tatsächlich den Server.
Da ich statt Apache2 einsetze gings dann weiter mit dieser Anleitung:
https://gitlab.com/gitlab-org/gitlab-recipes/tree/script_to_bin/web-server/apache
Beim Double Check App-Status werden noch ein paar Issues gemeldet. Also …
Git auf aktuelle Version aktualisieren
http://askubuntu.com/questions/333095/install-a-more-recent-version-of-git-on-a-lts
sudo add-apt-repository ppa:git-core/ppa
sudo apt-get install git-core
ersetzt dann auch git
Sidekiq anschalten
sudo -u git -H RAILS_ENV=production bin/background_jobs start
Nach einen service gitlab restart
ist auch Unicorn gestartet.
Falls bei /home/git/gitlab-shell/bin/check
trotzdem noch die git-shell über mangelnden API Zugriff meckert, liegt es evtl. daran, dass die gewählte Domain noch nicht auf den Server zeigt. So war es bei mir, da die Domains extern verwaltet werden.
HTTPS/SSL aktivieren
Da das ganze ja praktisch Produktiv und draußen läuft muss noch bissl Sicherheit her. Also der Anleitung folgen und die Apache Config Vorlage nutzen..
/etc/apache2/apache2.conf
:
ServerTokens Prod
ServerSignature Off
TraceEnable Off
SSLCompression Off
Und dann …
sudo a2dismod suexec
sudo a2dismod deflate
Und dann vhost-Konfig anpassen..
https://gitlab.com/gitlab-org/gitlab-recipes/blob/script_to_bin/web-server/apache/gitlab-ssl.conf
Und die gitlab-shell/config.yml
sowie die gitlab/config.yml
entsprechend der Anleitung anpassen.
Noch ein service apache2 restart
und schon funktionierts! zumindest bei mir jetzt
Riesen Dank an die Jungs und Mädels der GitLab Community. Die Anleitung ist großartig!
Wie immer, Anregungen, Tipps wie es besser geht, was falsch ist, gern hier als Kommentar oder per Twitter. @rhflow_de