Gitlab con puerto SSH no estándar (en VM con reenvío Iptable)


Mi gitlab está en una máquina virtual en un servidor host. Llego a la VM con un puerto SSH no estándar (es decir, 766) que una regla iptable luego reenvía de host:766 a vm:22.

Así que cuando creo un nuevo repositorio, la instrucción para agregar un control remoto proporciona una URL mal formada (ya que no usa el puerto 766. Por ejemplo, la interfaz web me da esto:

Malformado

Git remote agregar origen [email protected]:group/project.git

En lugar de una URL conteniendo :766/ antes del grupo.

Bien formado

Git remote agregar origen [email protected]:766/group/project.git

Así que cuando cree un repositorio, tengo que hacer la modificación manualmente, lo mismo para mi colaborador. ¿Cómo puedo arreglar eso ?

Author: Édouard Lopez, 2013-08-29

3 answers

Si configura el ssh_port correctamente en config/gitlab.yml, las páginas web mostrarán la url de repo correcta.

## GitLab Shell settings
gitlab_shell:
  ...
  # If you use non-standard ssh port you need to specify it
  ssh_port: 766

Ps. la url correcta es: ssh://[email protected]:766/group/project.git

Editar: después del cambio necesita borrar cachés, etc:

bundle exec rake cache:clear assets:clean assets:precompile RAILS_ENV=production
 32
Author: gdamjan,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-07-17 16:47:35

En versiones empaquetadas Omnibus puede modificar esa propiedad en el archivo /etc/gitlab/gitlab.rb:

gitlab_rails['gitlab_shell_ssh_port'] = 766

Entonces, necesitarás reconfigurar GitLab:

# gitlab-ctl reconfigure

Sus URI se mostrarán correctamente como ssh://[email protected]:766/group/project.git en la interfaz web.

 61
Author: Peque,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-01-28 10:43:20

N.B.: Esto fue probado en una versión antigua de Giltab (v5-v6), y podría no ser adecuado para la instancia moderna.

Puede lograr un comportamiento similar en un proceso de 2 pasos:

1. Editar: config/gitlab.yml

En el servidor, establezca el puerto en el que usa:

ssh_port: 766

2. Editar ~/.ssh/config

En su máquina, agregue la siguiente sección correspondiente a su gitlab:

Host sub.domain.com
        Port 766

Límite

Tendrá que repetir esta operación en cada el ordenador del usuario {

Referencias

 4
Author: Édouard Lopez,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-03-09 15:39:19