GitLab: Różnice pomiędzy wersjami

Linia 4: Linia 4:
  
 
Przed przystąpieniem do instalacji należy:
 
Przed przystąpieniem do instalacji należy:
# Przeprowadzić wstępną konfigurację [[RVM]] (dla wersji ruby 2.1.6) i [[RoR]].
+
# Przeprowadzić wstępną konfigurację [[RVM]] (dla wersji ruby 2.4.4) i [[RoR]].
 
# Dodać bazę i użytkownika [[MySQL]] lub [[PostgreSQL]].
 
# Dodać bazę i użytkownika [[MySQL]] lub [[PostgreSQL]].
  
Linia 14: Linia 14:
  
 
Należy:
 
Należy:
 +
# Wyeksportować zmienną wskazującą biblioteki gcc6  <code class="">export LD_LIBRARY_PATH=/usr/local/lib/gcc6</code>
 
# Zainstalować gem bundler <code>gem install bundler</code>.
 
# Zainstalować gem bundler <code>gem install bundler</code>.
# Pobrać źródła GitLab <code><nowiki>git clone https://gitlab.com/gitlab-org/gitlab-ce.git -b 8-1-stable gitlab</nowiki></code>.
+
# Pobrać źródła GitLab <code><nowiki>git clone https://gitlab.com/gitlab-org/gitlab-ce.git -b 11-4-stable gitlab</nowiki></code>.
 
# Zmienić nazwę pobranego folderu na <code class="directory">public_ruby</code> i do niego przejść <code>rm -r public_ruby && mv gitlab public_ruby && cd public_ruby</code>.
 
# Zmienić nazwę pobranego folderu na <code class="directory">public_ruby</code> i do niego przejść <code>rm -r public_ruby && mv gitlab public_ruby && cd public_ruby</code>.
 
# Skopiować przykładową konfigurację bazy danych <code>cp config/database.yml.postgresql config/database.yml</code>.
 
# Skopiować przykładową konfigurację bazy danych <code>cp config/database.yml.postgresql config/database.yml</code>.
Linia 35: Linia 36:
 
#* ''email_display_name'' na dowolną nazwę, która będzie się wyświetlała zamiast adresu email,
 
#* ''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.
 
#* ''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 <code class="directory">/usr/home/''login''/gitlab-satellites/</code>.
+
#<del> W sekcji satellites zmienną path na <code class="directory">/usr/home/''login''/gitlab-satellites/</code>.</del><-- to chyba wyleciało jakiś czas temu z GitLab
 
# W sekcji gitlab_shell zmienne:
 
# W sekcji gitlab_shell zmienne:
 
#* path na <code class="directory">/usr/home/''login''/gitlab-shell/</code>,
 
#* path na <code class="directory">/usr/home/''login''/gitlab-shell/</code>,
Linia 53: Linia 54:
 
#* <code>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</code>,
 
#* <code>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</code>,
 
#* <code>bundle install --deployment --without development test postgresql aws</code>.
 
#* <code>bundle install --deployment --without development test postgresql aws</code>.
 +
#ZAINSTALOWAĆ GRPC!
 +
#* <code>gem install --install-dir ~/domains/"domena"/public_ruby/vendor/bundle/ruby/2.4.0 ~/grpc-1.11.0.gem</code> <-- zakładając onecność gemu w katalogu domowym
 
# Uruchomić serwer redis oraz przystosować konfigurację GitLaba:
 
# Uruchomić serwer redis oraz przystosować konfigurację GitLaba:
 
#* <code>screen -dm bash -c "redis-server --unixsocket /usr/home/''login''/redis.sock --port 0"</code>,
 
#* <code>screen -dm bash -c "redis-server --unixsocket /usr/home/''login''/redis.sock --port 0"</code>,
Linia 58: Linia 61:
 
# Skonfigurować gitlab_shell oraz GitLaba:
 
# Skonfigurować gitlab_shell oraz GitLaba:
 
#* <code>bundle exec rake gitlab:shell:install REDIS_URL=unix:/usr/home/''login''/redis.sock RAILS_ENV=production</code>,
 
#* <code>bundle exec rake gitlab:shell:install REDIS_URL=unix:/usr/home/''login''/redis.sock RAILS_ENV=production</code>,
 +
#Zainstalować workhorse
 +
#*<code>bundle exec rake "gitlab:workhorse:install[/usr/home/"login"/gitlab-workhorse]" RAILS_ENV=production</code>
 +
#Zainstalować gitaly
 +
#*export CC=gcc7
 +
#*export CXX=g++7
 +
#*<code>bundle exec rake "gitlab:gitaly:install[/usr/home/"login"/gitaly,/usr/home/"login"/gitlab-repo]"
 +
RAILS_ENV=production</code>
 
# W pliku <code>lib/tasks/gitlab/setup.rake</code> zakomentować (#) wiersz:
 
# W pliku <code>lib/tasks/gitlab/setup.rake</code> zakomentować (#) wiersz:
 
#* "Rake::Task["db:reset"].invoke" i wstawić "Rake::Task["db:setup"].invoke" lub zamienić "reset => setup". (reset wykonuje drop i setup)
 
#* "Rake::Task["db:reset"].invoke" i wstawić "Rake::Task["db:setup"].invoke" lub zamienić "reset => setup". (reset wykonuje drop i setup)

Wersja z 12:00, 7 lis 2018

GitLab to manager repozytoriów Git.

Uwaga opis jest nieaktualny i w trakcie aktualizacji

Przed przystąpieniem do instalacji należy:

  1. Przeprowadzić wstępną konfigurację RVM (dla wersji ruby 2.4.4) i RoR.
  2. Dodać bazę i użytkownika MySQL lub PostgreSQL.

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

Należy:

  1. Wyeksportować zmienną wskazującą biblioteki gcc6 export LD_LIBRARY_PATH=/usr/local/lib/gcc6
  2. Zainstalować gem bundler gem install bundler.
  3. Pobrać źródła GitLab git clone https://gitlab.com/gitlab-org/gitlab-ce.git -b 11-4-stable gitlab.
  4. Zmienić nazwę pobranego folderu na public_ruby i do niego przejść rm -r public_ruby && mv gitlab public_ruby && cd public_ruby.
  5. Skopiować przykładową konfigurację bazy danych cp config/database.yml.postgresql config/database.yml.
  6. Ustawić w pliku config/database.yml w sekcji production zmienne:
    • database na nazwę bazy danych (np. p1064_gitlab),
    • host na host bazy danych (pgsqlX.mydevil.net),
    • username na nazwę użytkownika bazy danych (np. p1064_gitlab),
    • password na hasło bazy danych.
    • Odkomentować powyższe linijki (usunąć #).
  7. Włączyć rozszerzenie pg_trgm w postgresql:
    • devil pgsql extensions nazwa_bazy pg_trgm
  8. Skopiować przykładową konfigurację gitlab cp config/gitlab.yml.example config/gitlab.yml.
  9. 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.
  10. W sekcji satellites zmienną path na /usr/home/login/gitlab-satellites/.<-- to chyba wyleciało jakiś czas temu z GitLab
  11. 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/.
  12. W sekcji git zmienną bin_path na /usr/local/bin/git.
  13. Skopiować przykładową konfigurację smtp cp config/initializers/smtp_settings.rb.sample config/initializers/smtp_settings.rb.
  14. 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.
  15. 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.
  16. ZAINSTALOWAĆ GRPC!
    • gem install --install-dir ~/domains/"domena"/public_ruby/vendor/bundle/ruby/2.4.0 ~/grpc-1.11.0.gem <-- zakładając onecność gemu w katalogu domowym
  17. 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.
  18. Skonfigurować gitlab_shell oraz GitLaba:
    • bundle exec rake gitlab:shell:install REDIS_URL=unix:/usr/home/login/redis.sock RAILS_ENV=production,
  19. Zainstalować workhorse
    • bundle exec rake "gitlab:workhorse:install[/usr/home/"login"/gitlab-workhorse]" RAILS_ENV=production
  20. Zainstalować gitaly
    • export CC=gcc7
    • export CXX=g++7
    • bundle exec rake "gitlab:gitaly:install[/usr/home/"login"/gitaly,/usr/home/"login"/gitlab-repo]"
RAILS_ENV=production
  1. W pliku lib/tasks/gitlab/setup.rake zakomentować (#) wiersz:
    • "Rake::Task["db:reset"].invoke" i wstawić "Rake::Task["db:setup"].invoke" lub zamienić "reset => setup". (reset wykonuje drop i setup)
    • bundle exec rake gitlab:setup RAILS_ENV=production,
    • bundle exec rake sidekiq:start RAILS_ENV=production.
  • Podsumowanie

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