GitLab: Różnice pomiędzy wersjami

m (38 wersji)
Linia 1: Linia 1:
 
GitLab to manager repozytoriów [[Git]].
 
GitLab to manager repozytoriów [[Git]].
 +
 +
''Uwaga opis jest nieaktualny i w trakcie aktualizacji''
  
 
Przed przystąpieniem do instalacji należy:
 
Przed przystąpieniem do instalacji należy:
Linia 8: Linia 10:
 
   
 
   
 
=== Instalacja ===
 
=== Instalacja ===
 
Możesz zainstalować GitLab w oparciu o (z wykorzystaniem) MySQL, bądź alternatywnie PostgreSQL.
 
 
* MySQL
 
 
{{Server|MySQL|mysql}}
 
 
Następnie należy:
 
# 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>.
 
# 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.mysql config/database.yml</code>.
 
# Ustawić w pliku <code class="directory">config/database.yml</code> 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 <code>cp config/gitlab.yml.example config/gitlab.yml</code>.
 
# Ustawić w pliku <code class="directory">config/gitlab.yml</code> 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 <code>#</code> 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 <code class="directory">/usr/home/''login''/gitlab-satellites/</code>.
 
# W sekcji gitlab_shell zmienne:
 
#* path na <code class="directory">/usr/home/''login''/gitlab-shell/</code>,
 
#* repos_path na <code class="directory">/usr/home/''login''/gitlab-repo/</code>,
 
#* hooks_path na <code class="directory">/usr/home/''login''/gitlab-shell/hooks/</code>.
 
# W sekcji git zmienną bin_path na <code class="directory">/usr/local/bin/git</code>.
 
# Skopiować przykładową konfigurację smtp <code>cp config/initializers/smtp_settings.rb.sample config/initializers/smtp_settings.rb</code>.
 
# Ustawić w pliku <code class="directory">config/initializers/smtp_settings.rb</code> zmienne:
 
#* ''address'' na adres serwera [[poczta|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:
 
#* <code>bundle config build.charlock_holmes --with-icu-dir=/usr/local</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>.
 
# Uruchomić serwer redis oraz przystosować konfigurację GitLaba:
 
#* <code>screen -dm bash -c "redis-server --unixsocket /usr/home/''login''/redis.sock --port 0"</code>,
 
#* <code>echo "production: unix:/usr/home/''login''/redis.sock" > config/resque.yml</code>.
 
# 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:setup RAILS_ENV=production</code>,
 
#* <code>bundle exec rake sidekiq:start RAILS_ENV=production</code>.
 
 
 
* PostgreSQL
 
  
 
{{Server|PostgreSQL|pgsql}}
 
{{Server|PostgreSQL|pgsql}}
  
Następnie należy:
+
Należy:
 
# 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 8-1-stable gitlab</nowiki></code>.
Linia 71: Linia 19:
 
# 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>.
 
# Ustawić w pliku <code class="directory">config/database.yml</code> w sekcji production zmienne:
 
# Ustawić w pliku <code class="directory">config/database.yml</code> w sekcji production zmienne:
#* ''database'' na nazwę bazy danych (np. m1064_gitlab),
+
#* ''database'' na nazwę bazy danych (np. p1064_gitlab),
 
#* ''host'' na host bazy danych (pgsqlX.mydevil.net),
 
#* ''host'' na host bazy danych (pgsqlX.mydevil.net),
#* ''username'' na nazwę użytkownika bazy danych (np. m1064_gitlab),
+
#* ''username'' na nazwę użytkownika bazy danych (np. p1064_gitlab),
 
#* ''password'' na hasło bazy danych.
 
#* ''password'' na hasło bazy danych.
 
#* Odkomentować powyższe linijki (usunąć #).
 
#* Odkomentować powyższe linijki (usunąć #).
Linia 110: Linia 58:
 
# 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>,
# 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)
 
#* <code>bundle exec rake gitlab:setup RAILS_ENV=production</code>,
 
#* <code>bundle exec rake gitlab:setup RAILS_ENV=production</code>,
Linia 131: Linia 79:
 
[[Kategoria:Repozytoria]]
 
[[Kategoria:Repozytoria]]
 
[[Kategoria:Poradniki]]
 
[[Kategoria:Poradniki]]
[[Kategoria:Wiersz poleceń]]
 

Wersja z 13:21, 20 wrz 2017

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.1.6) 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. Zainstalować gem bundler gem install bundler.
  2. Pobrać źródła GitLab git clone https://gitlab.com/gitlab-org/gitlab-ce.git -b 8-1-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.postgresql config/database.yml.
  5. 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ąć #).
  6. Włączyć rozszerzenie pg_trgm w postgresql:
    • devil pgsql extensions nazwa_bazy pg_trgm
  7. Skopiować przykładową konfigurację gitlab cp config/gitlab.yml.example config/gitlab.yml.
  8. 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.
  9. W sekcji satellites zmienną path na /usr/home/login/gitlab-satellites/.
  10. 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/.
  11. W sekcji git zmienną bin_path na /usr/local/bin/git.
  12. Skopiować przykładową konfigurację smtp cp config/initializers/smtp_settings.rb.sample config/initializers/smtp_settings.rb.
  13. 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.
  14. 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.
  15. 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.
  16. Skonfigurować gitlab_shell oraz GitLaba:
    • bundle exec rake gitlab:shell:install REDIS_URL=unix:/usr/home/login/redis.sock RAILS_ENV=production,
  17. 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