GitLab: Różnice pomiędzy wersjami
m (→Instalacja) |
m (→Instalacja) |
||
Linia 75: | Linia 75: | ||
#* ''username'' na nazwę użytkownika bazy danych (np. m1064_gitlab), | #* ''username'' na nazwę użytkownika bazy danych (np. m1064_gitlab), | ||
#* ''password'' na hasło bazy danych. | #* ''password'' na hasło bazy danych. | ||
+ | #* Odkomentować powyższe linijki (usunąć #). | ||
# Skopiować przykładową konfigurację gitlab <code>cp config/gitlab.yml.example config/gitlab.yml</code>. | # 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: | # Ustawić w pliku <code class="directory">config/gitlab.yml</code> w sekcji gitlab zmienne: |
Wersja z 08:55, 27 maj 2016
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 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
Możesz zainstalować GitLab w oparciu o (z wykorzystaniem) MySQL, bądź alternatywnie PostgreSQL.
- MySQL
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 8-1-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
.
-
- 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 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
.
-
- PostgreSQL
Adres serwera PostgreSQL jest zależny od numeru serwera shell. Dla serwera s0.mydevil.net będzie to adres pgsql0.mydevil.net, dla serwera s1.mydevil.net pgsql1.mydevil.net, dla serwera s2.mydevil.net pgsql2.mydevil.net itd. W przykładach użyto adresu pgsqlX.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 8-1-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.postgresql 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 (pgsqlX.mydevil.net),
- username na nazwę użytkownika bazy danych (np. m1064_gitlab),
- password na hasło bazy danych.
- Odkomentować powyższe linijki (usunąć #).
- 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
.
-
- 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 REDIS_URL=unix:/usr/home/login/redis.sock RAILS_ENV=production
,
-
- Włączyć rozszerzenie pg_trgm w postgresql:
-
devil pgsql extensions nazwa_bazy pg_trgm
-
- 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