Translate

неділя, 28 вересня 2014 р.

How to setup GitLab on CentOS 6.5

Ця стаття буде коротенькою, адже установка Gitlab відбувається за допомогою декількох команд - все інше робить за нас Chef.

Gitlab - веб-інтерфейс до управління власним репозиторієм Git, він надає можливість зручного перегляду коду і все що з ним пов'язано, адміністрування користувачів і їх прав (до речі, підтримує LDAP аутентифікацію) і має просто чудовий вигляд. Так би мовити GitHub, але на власному сервері:



Gitlab написаний на ruby, проте ніхто не забороняє використовувати попереду веб-сервер для управління доменами.

Спочатку скачуємо останній реліз. Налаштування, як я вже згадав в темі, буде проходити для Centos 6.5.

# curl -O https://downloads-packages.s3.amazonaws.com/centos-6.5/gitlab-7.3.1_omnibus-1.el6.x86_64.rpm

Curl має бути присутнім в системі, за відсутності його необхідно встановити.
Для коректної роботи Gitlab також необхідні пакети postfix (відправка листів користувачам після реєстрації) та openssh-server:

# yum install openssh-server postfix

Запускаємо і додаємо Postfix в автозавантаження:

# service postfix start
# chkconfig postfix on

І нарешті встановлюємо сам пакет:

# rpm -i gitlab-7.3.1_omnibus-1.el6.x86_64.rpm

Редагуємо файл конфігурації і вводимо в нього необхідне доменне ім'я:

# vim /etc/gitlab/gitlab.rb
...
# Change the external_url to the address your users will type in their browser
external_url 'http://gitlab.yourserver.com'
...

В цьому ж файлі можна перепризначити дефолтні порти сервісів GitLab:

# vim /etc/gitlab/gitlab.rb
...
redis['port'] = 1234
postgresql['port'] = 2345
unicorn['port'] = 3456
...

І багато чого іншого.

Запускаємо установку і автоконфігурацію сервера і всіх його елементів:

# gitlab-ctl reconfigure
# lokkit -s http -s ssh

Наразі можна користуватись Gitlab-ом, ввівши логін root та пароль 5iveL!fe .




На протязі установки запуститься Cheaf-client, розпакує всі пакети і встановить все зі статичним лінкуванням в /opt/gitlab. У цій директорії будуть всі необхідні для роботи Gitlab пакети: Nginx, Unicorn (ruby-сервер), Redis, Sidekiq, та PostgreSQL у якості бази даних.

Наразі все встановлено. Переглянути, наприклад, конфігураційний файл Nginx можна перейшовши в директорію /var/opt/gitlab/nginx/conf :

# vim /var/opt/gitlab/nginx/conf/gitlab-http.conf

Всі лог-файли усіх сервісів, що працюють із Gitlab знаходяться в /var/log/gitlab/. Також логи можна переглянути використовуючи команду gitlab-ctl:

# gitlab-ctl tail postgresql

Щоб запустити/зупинити/перезапустити Gitlab та всі його сервіси необхідно виконати:

# gitlab-ctl start/stop/restart

Статус можна дізнатись таким чином:

# gitlab-ctl status
run: nginx: (pid 972) 7s; run: log: (pid 971) 7s
run: postgresql: (pid 962) 7s; run: log: (pid 959) 7s
run: redis: (pid 964) 7s; run: log: (pid 963) 7s
run: sidekiq: (pid 967) 7s; run: log: (pid 966) 7s
run: unicorn: (pid 961) 7s; run: log: (pid 960) 7s

Перевантажувати можна також і окремі сервіси, наприклад, sidekiq:

# gitlab-ctl restart sidekiq

Кожен із сервісів можна замінити на репозиторні версії програм, проте попередньо необхідно вимкнути вбудовані і вже потім , за допомогою пакетного менеджера, встановити стандартні:

# vim /etc/gitlab/gitlab.rb
...
# Disable the built-in nginx 
nginx['enable'] = false
...


І запустити переконфігурацію Gitlab:

# gitlab-ctl reconfigure

PS. Для останніх пакетів вже існують репозиторії, тому оновлення буде найменш болісним. )
Щоб оновитись з власноруч скачаних пакетів на версію з репозиторію існує гарний мануал https://about.gitlab.com/upgrade-to-package-repository/

Посилання:
https://about.gitlab.com/downloads/
https://about.gitlab.com/installation/
https://gitlab.com/gitlab-org/gitlab-ce/blob/master/doc/development/architecture.md
https://gitlab.com/gitlab-org/gitlab-ce/blob/master/doc/install/installation.md
https://gitlab.com/gitlab-org/omnibus-gitlab/blob/master/README.md
https://github.com/gitlabhq/gitlabhq/blob/master/doc/install/installation.md
https://wiki.archlinux.org/index.php/gitlab

Немає коментарів:

Дописати коментар