Как изменить URL-адрес рабочей установки GitLab?

У меня есть настройка, и мы запускаем установку по умолчанию Gitlab v6.0.1 (мы тоже собираемся обновить). Это была установка "Производство", следуя этому руководству именно по букве:

https://github.com/gitlabhq/gitlabhq/blob/master/doc/install/installation.md

Теперь, как мы можем безопасно изменить URL-адрес рабочей установки?

По-видимому, наш URL-адрес очень длинный, и мы придумали новый URL-адрес. Я редактировал несколько конфигурационных файлов, а отчет "Проверка состояния приложения" - все в порядке. Я перезагрузил сервер, чтобы все еще работало. Я могу получить доступ к Nginx просто отлично, по сравнению с нашим оригинальным SSL. Я могу просматривать сайт gitlab, создавать репо и т.д. Я могу разблокировать и зафиксировать все в порядке.

Кажется, все в порядке; но, поскольку это не родная среда для меня, я хотел бы дважды проверить, что я сделал все, чтобы переименовать сайт gitlab.

Файлы, которые я редактировал:

/etc/hosts 
  127.0.0.1  localhost
  10.0.0.10  wake.domain.com    wake
  10.0.0.10  git.domain.com     git

/home/git/gitlab/config/gitlab.yml
  production: &base
    gitlab:
      host: git.domain.com

/home/git/gitlab-shell/config.yml
  gitlab_url: "https://git.domain.com"
  ^- yes, we are on SSL and that is working, even on new url

/etc/nginx/sites-available/gitlab
  server {
    server_name git.domain.com

Спасибо!

Ответ 1

Вы сделали все правильно!

То, что вы также можете изменить, - это конфигурация электронной почты в зависимости от того, является ли почтовый сервер одним и тем же сервером. Конфигурация электронной почты находится в gitlab.yml для писем, отправленных GitLab, а также электронной почты администратора.

Ответ 2

GitLab Omnibus

Для установки Omnibus это немного отличается.

Место правильное в установке Omnibus:

/etc/gitlab/gitlab.rb
    external_url 'http://gitlab.example.com'

Наконец, вам нужно выполнить sudo gitlab-ctl reconfigure и sudo gitlab-ctl restart, чтобы изменения были применены.


Я вносил изменения в неправильные места, и они срывались.

неправильные пути:

/opt/gitlab/embedded/service/gitlab-rails/config/gitlab.yml
/var/opt/gitlab/.gitconfig
/var/opt/gitlab/nginx/conf/gitlab-http.conf

Обратите внимание на те предупреждения, которые гласят:

# This file is managed by gitlab-ctl. Manual changes will be
# erased! To change the contents below, edit /etc/gitlab/gitlab.rb
# and run `sudo gitlab-ctl reconfigure`.

Ответ 3

Собственно, это НЕ совсем правильно. Я пришел на эту страницу, пытаясь ответить на этот вопрос сам, поскольку мы переходим на выпуск gitlab-сервера от http:// до https://, и большинство вещей работает, как описано выше, но когда вы входите в https://server, и все выглядит нормально... за исключением случаев, когда вы просматриваете проект или репозиторий, и он отображает инструкции ssh и http... В нем говорится "http", а отображаемые инструкции также говорят "http".

Я нашел еще кое-что для редактирования:

/home/git/gitlab/config/gitlab.yml
  production: &base
    gitlab:
      host: git.domain.com

      # Also edit these:
      port: 443
      https: true
...

и

/etc/nginx/sites-available/gitlab
  server {
    server_name git.domain.com;

    # Also edit these:
    listen 443 ssl;
    ssl_certificate     /etc/ssl/certs/somecert.crt;
    ssl_certificate_key /etc/ssl/private/somekey.key;

...

Ответ 4

Здесь есть подробные примечания, которые полностью помогли мне, расположенные здесь.

Джонатан Рейнхарт уже ответил ключевым битом, чтобы отредактировать /etc/gitlab/gitlab.rb, изменить внешний_курс, а затем запустить sudo gitlab-ctl reconfigure; sudo gitlab-ctl restart

Однако мне нужно было пойти немного дальше, и документы, которые я связал выше, объяснили это. Итак, в итоге я выглядел так:

external_url 'https://gitlab.toilethumor.com'
nginx['ssl_certificate'] = "/www/ssl/star_toilethumor.com-chained.crt"
nginx['ssl_certificate_key'] = "/www/ssl/star_toilethumor.com.key"
nginx['proxy_set_headers'] = {
 "X-Forwarded-Proto" => "http",
 "CUSTOM_HEADER" => "VALUE"
}

Выше я прямо заявил, где мои SSL-плюсы находятся на этом сервере. И это, конечно, сопровождается

sudo gitlab-ctl reconfigure
sudo gitlab-ctl restart

Кроме того, при переключении пакета omnibus на https связанный nginx будет работать только на порту 443. Поскольку все мои вещи доступны через обратный прокси, эта часть потенциально значительна.

Как я прошел через это, я что-то прикрутил, и полезно найти фактические журналы nginx, это привело меня туда:

sudo gitlab-ctl tail nginx