GitLab
GitLab to manager repozytoriów Git.
Przed przystąpieniem do instalacji należy:
- Przeprowadzić wstępną konfigurację RVM (dla wersji ruby 2.1.6) i RoR.
- Dodać bazę i użytkownika MySQL.
Przed dalszymi krokami należy się zalogować na shellu MyDevil. Trzeba przejść do katalogu /usr/home/login/domains/domena/
, gdzie za domena należy podstawić wcześniej skonfigurowaną domenę.
Instalacja
Adres serwera MySQL jest zależny od numeru serwera shell. Dla serwera s0.mydevil.net będzie to adres mysql0.mydevil.net, dla serwera s1.mydevil.net mysql1.mydevil.net, dla serwera s2.mydevil.net mysql2.mydevil.net itd. W przykładach użyto adresu mysqlX.mydevil.net.
Następnie należy:
- Zainstalować gem bundler
gem install bundler
. - Pobrać źródła GitLab
git clone https://gitlab.com/gitlab-org/gitlab-ce.git -b 7-11-stable gitlab
. - Zmienić nazwę pobranego folderu na
public_ruby
i do niego przejśćrm -r public_ruby && mv gitlab public_ruby && cd public_ruby
. - Skopiować przykładową konfigurację bazy danych
cp config/database.yml.mysql config/database.yml
. - Ustawić w pliku
config/database.yml
w sekcji production zmienne:- database na nazwę bazy danych (np. m1064_gitlab),
- host na host bazy danych (mysqlX.mydevil.net),
- username na nazwę użytkownika bazy danych (np. m1064_gitlab),
- password na hasło bazy danych.
- Skopiować przykładową konfigurację gitlab
cp config/gitlab.yml.example config/gitlab.yml
. - Ustawić w pliku
config/gitlab.yml
w sekcji gitlab zmienne:- host na domenę aplikacji,
- port na 80 (HTTP) lub 443 (HTTPS),
- https na true jeśli strona będzie korzystać z HTTPS,
- user na nazwę użytkownika konta (należy również usunąć znak komentarza
#
przed user), - email_from na adres e-mail z którego GitLab ma wysyłać maile,
- email_display_name na dowolną nazwę, która będzie się wyświetlała zamiast adresu email,
- email_reply_to na adres e-mail na który mają być wysyłana odpowiedzi na emaile wysłane przez GitLab.
- W sekcji satellites zmienną path na
/usr/home/login/gitlab-satellites/
. - W sekcji gitlab_shell zmienne:
- path na
/usr/home/login/gitlab-shell/
, - repos_path na
/usr/home/login/gitlab-repo/
, - hooks_path na
/usr/home/login/gitlab-shell/hooks/
.
- path na
- W sekcji git zmienną bin_path na
/usr/local/bin/git
. - Skopiować przykładową konfigurację smtp
cp config/initializers/smtp_settings.rb.sample config/initializers/smtp_settings.rb
. - Ustawić w pliku
config/initializers/smtp_settings.rb
zmienne:- address na adres serwera smtp,
- port na port serwera smtp,
- user_name na adres email,
- password na hasło do konta email,
- domain na domenę aplikacji,
- enable_starttls_auto na false i openssl_verify_mode na none w przypadku problem z smtp na MyDevil
- Zainstalować zależności gitlaba:
-
bundle config build.charlock_holmes --with-icu-dir=/usr/local
-
bundle config build.nokogiri --with-xml2-include=/usr/local/libxml2 --with-xml2-lib=/usr/local/lib/ --with-iconv-include=/usr/local/include --with-iconv-lib=/usr/local/lib --use-system-libraries
-
bundle install --deployment --without development test postgresql aws kerberos
-
- Uruchomić serwer redis oraz przystosować konfigurację GitLaba:
-
screen -dm bash -c "redis-server --unixsocket /usr/home/login/redis.sock --port 0"
-
echo "production: unix:/usr/home/login/redis.sock" > config/resque.yml
-
- Skonfigurować gitlab_shell oraz GitLaba:
-
bundle exec rake gitlab:shell:install[v2.6.3] REDIS_URL=unix:/usr/home/login/redis.sock RAILS_ENV=production
-
bundle exec rake gitlab:setup RAILS_ENV=production
-
bundle exec rake sidekiq:start RAILS_ENV=production
-
Login oraz hasło do konta administratora zostaną wyświetlone przez przedostatnie polecenie na konsoli - zaleca się je zmienić po zalogowaniu się do GitLaba. Pierwsze ładowanie strony może potrwać nieco dłużej.
Integracja z repozytoriami MyDevil.net
Istnieje możliwość korzystania z GitLaba z naszymi repozytoriami Git. Wystarczy stworzyć link symboliczny do wybranego repo:
cd /home/login/gitlab-repo/gitlab_login/ rm -r gitlab_repo.git ln -s /home/login/repo/git/widoczność_repo/nazwa_repo gitlab_repo.git