GitLab: Różnice pomiędzy wersjami
Linia 2: | Linia 2: | ||
Przed przystąpieniem do instalacji należy: | Przed przystąpieniem do instalacji należy: | ||
− | # Przeprowadzić wstępną konfigurację [[RVM]] (dla wersji ruby 2.1. | + | # Przeprowadzić wstępną konfigurację [[RVM]] (dla wersji ruby 2.1.16) i [[RoR]]. |
# Dodać bazę i użytkownika [[MySQL]]. | # Dodać bazę i użytkownika [[MySQL]]. | ||
Linia 12: | Linia 12: | ||
Następnie należy: | Następnie należy: | ||
− | # Pobrać źródła GitLab <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 7-11-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.mysql config/database.yml</code>. | # Skopiować przykładową konfigurację bazy danych <code>cp config/database.yml.mysql config/database.yml</code>. | ||
Linia 25: | Linia 26: | ||
#* port na 80 (HTTP) lub 443 (HTTPS), | #* port na 80 (HTTP) lub 443 (HTTPS), | ||
#* https na true jeśli strona będzie korzystać z HTTPS, | #* https na true jeśli strona będzie korzystać z HTTPS, | ||
− | #* user na nazwę użytkownika konta, | + | #* user na nazwę użytkownika konta (należy również usunąć znak komentarza <code>#</code> przed user), |
− | #* email_from na | + | #* 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>, | #* path na <code class="directory">/usr/home/''login''/gitlab-shell/</code>, | ||
#* repos_path na <code class="directory">/usr/home/''login''/gitlab-repo/</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>. | #* hooks_path na <code class="directory">/usr/home/''login''/gitlab-shell/hooks/</code>. | ||
− | # Stworzyć foldery <code>mkdir -p / | + | # W sekcji git zmienną bin_path na <code class="directory">/usr/local/bin/git</code>. |
+ | # Stworzyć foldery <code>mkdir -p ~/gitlab-repo/root ~/gitlab-shell/hooks ~/gitlab-satellites</code>. | ||
# Wyłączyć obsługę kerberosa oraz zainstalować zależności gitlaba: | # Wyłączyć obsługę kerberosa oraz zainstalować zależności gitlaba: | ||
#* <code>sed -i "" '/omniauth-kerberos/d' Gemfile</code> | #* <code>sed -i "" '/omniauth-kerberos/d' Gemfile</code> | ||
Linia 37: | Linia 42: | ||
#* <code>sed -i "" '/timfel-krb5-auth/d' Gemfile.lock</code> | #* <code>sed -i "" '/timfel-krb5-auth/d' Gemfile.lock</code> | ||
#* <code>bundle config build.charlock_holmes --with-icu-dir=/usr/local</code> | #* <code>bundle config build.charlock_holmes --with-icu-dir=/usr/local</code> | ||
− | #* <code>bundle config build.nokogiri --with-iconv-include=/usr/local/include --with-iconv-lib=/usr/local/lib</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</code> |
− | #* <code>bundle install --deployment --without development test postgresql aws</code> | + | #* <code>bundle install --deployment --without development test postgresql aws kerberos</code> |
# Uruchomić serwer redis oraz przystosować konfigurację GitLaba: | # Uruchomić serwer redis oraz przystosować konfigurację GitLaba: | ||
#* <code>screen redis-server --unixsocket /usr/home/''login''/redis.sock --port 0</code> | #* <code>screen redis-server --unixsocket /usr/home/''login''/redis.sock --port 0</code> | ||
#* <code>echo "production: unix:/usr/home/''login''/redis.sock" > config/resque.yml</code> | #* <code>echo "production: unix:/usr/home/''login''/redis.sock" > config/resque.yml</code> | ||
# Skonfigurować gitlab_shell oraz GitLaba: | # Skonfigurować gitlab_shell oraz GitLaba: | ||
− | #* <code>bundle exec rake gitlab:shell:install[ | + | #* <code>bundle exec rake gitlab:shell:install[v2.6.3] 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 gitlab:setup RAILS_ENV=production</code> | ||
#* <code>bundle exec rake sidekiq:start RAILS_ENV=production</code> | #* <code>bundle exec rake sidekiq:start RAILS_ENV=production</code> |
Wersja z 15:27, 3 cze 2015
GitLab to manager repozytoriów Git.
Przed przystąpieniem do instalacji należy:
- Przeprowadzić wstępną konfigurację RVM (dla wersji ruby 2.1.16) 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
. - Stworzyć foldery
mkdir -p ~/gitlab-repo/root ~/gitlab-shell/hooks ~/gitlab-satellites
. - 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
-
- 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
-
- 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