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 ?
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
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.
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
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