omc - ¿Cómo cambiar la URL de una instalación de GitLab en funcionamiento?
gitlab>} (4)
GitLab Omnibus
Para una instalación Omnibus, es un poco diferente.
El lugar correcto en una instalación Omnibus es:
/etc/gitlab/gitlab.rb
external_url ''http://gitlab.example.com''
Finalmente, deberá ejecutar sudo gitlab-ctl reconfigure
y sudo gitlab-ctl restart
para que se apliquen los cambios.
Estaba haciendo cambios en los lugares equivocados y se quedaron impresionados.
Las rutas incorrectas son:
/opt/gitlab/embedded/service/gitlab-rails/config/gitlab.yml
/var/opt/gitlab/.gitconfig
/var/opt/gitlab/nginx/conf/gitlab-http.conf
Preste atención a esas advertencias que dicen:
# 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`.
Tengo la configuración y estamos ejecutando una instalación predeterminada de Gitlab v6.0.1 (estamos a punto de actualizar también). Fue una configuración de "Producción", siguiendo esta guía precisamente a la letra:
https://github.com/gitlabhq/gitlabhq/blob/master/doc/install/installation.md
Ahora, ¿cómo podemos cambiar de forma segura la URL de una instalación en funcionamiento?
Aparentemente, nuestra URL es muy larga y hemos creado una url nueva. He editado varios archivos de configuración y el informe "Comprobaciones de estado de la aplicación" dice que todo está bien. He reiniciado el servidor para garantizar que las cosas sigan funcionando. Puedo acceder a Nginx muy bien, sobre nuestro SSL original. Puedo navegar por el sitio de gitlab, crear un repositorio, etc. Puedo bifurcar y comprometerme muy bien.
Todo parece estar bien; pero, dado que este no es un entorno nativo para mí, quería verificar que lo haya hecho todo para cambiar el nombre de un sitio de gitlab.
Los archivos que he editado son:
/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
¡Gracias!
En realidad, esto NO es totalmente correcto. Llegué a esta página, tratando de responder esta pregunta yo mismo, ya que estamos haciendo la transición del servidor de producción gitlab de http://
a https://
y la mayoría de las cosas funcionan como se describió anteriormente, pero cuando inicias sesión en https://server
y todo se ve bien ... excepto cuando navegas hacia un proyecto o repositorio, y muestra las instrucciones ssh y http ... Dice "http" y las instrucciones que muestra también dicen "http".
Sin embargo, encontré algunas cosas más para editar:
/home/git/gitlab/config/gitlab.yml
production: &base
gitlab:
host: git.domain.com
# Also edit these:
port: 443
https: true
...
y
/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;
...
Hay notas detalladas sobre esto que me ayudaron completamente, ubicadas aquí .
Jonathon Reinhart ya ha respondido con la clave, para editar /etc/gitlab/gitlab.rb , alterar el external_url y luego ejecutar sudo gitlab-ctl reconfigure; sudo gitlab-ctl restart
sudo gitlab-ctl reconfigure; sudo gitlab-ctl restart
Sin embargo, necesitaba ir un poco más lejos y los documentos que he vinculado anteriormente lo explicaron. Entonces, lo que terminé con se ve así:
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"
}
Arriba, he declarado explícitamente dónde están mis golosidades SSL en este servidor. Y eso es, por supuesto, seguido por
sudo gitlab-ctl reconfigure
sudo gitlab-ctl restart
Además, cuando cambias el paquete ómnibus a https, el paquete nginx solo se publicará en el puerto 443. Dado que todo mi material se puede acceder a través del proxy inverso, esta parte era potencialmente significativa.
A medida que pasé por esto, arruiné algo y fue útil encontrar los registros de nginx reales, esto me llevó allí:
sudo gitlab-ctl tail nginx
Hiciste todo correctamente!
Lo que también podría cambiar es la configuración del correo electrónico según si el servidor de correo electrónico también es el mismo. La configuración del correo electrónico está en gitlab.yml para los correos enviados por GitLab y también el correo electrónico de administración.