GitLab

GitLab to manager repozytoriów Git.

Przed przystąpieniem do instalacji należy:

  1. Przeprowadzić wstępną konfigurację RVM (dla wersji ruby 2.1.6) i RoR.
  2. 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

Następnie należy:

  1. Zainstalować gem bundler gem install bundler.
  2. Pobrać źródła GitLab git clone https://gitlab.com/gitlab-org/gitlab-ce.git -b 7-11-stable gitlab.
  3. Zmienić nazwę pobranego folderu na public_ruby i do niego przejść rm -r public_ruby && mv gitlab public_ruby && cd public_ruby.
  4. Skopiować przykładową konfigurację bazy danych cp config/database.yml.mysql config/database.yml.
  5. 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.
  6. Skopiować przykładową konfigurację gitlab cp config/gitlab.yml.example config/gitlab.yml.
  7. 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.
  8. W sekcji satellites zmienną path na /usr/home/login/gitlab-satellites/.
  9. 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/.
  10. W sekcji git zmienną bin_path na /usr/local/bin/git.
  11. Stworzyć foldery mkdir -p ~/gitlab-repo/root ~/gitlab-shell/hooks ~/gitlab-satellites.
  12. Wyłączyć obsługę kerberosa oraz zainstalować zależności gitlaba:
    • sed -i "" '/omniauth-kerberos/d' Gemfile
    • sed -i "" '/omniauth-kerberos/d' Gemfile.lock
    • sed -i "" '/timfel-krb5-auth/d' Gemfile.lock
    • 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
    • bundle install --deployment --without development test postgresql aws kerberos
  13. Uruchomić serwer redis oraz przystosować konfigurację GitLaba:
    • screen redis-server --unixsocket /usr/home/login/redis.sock --port 0
    • echo "production: unix:/usr/home/login/redis.sock" > config/resque.yml
  14. 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

Odnośniki zewnętrzne