Gitlab avec port SSH non standard (sur VM avec transfert Iptable)
Mon gitlab
est sur une machine virtuelle sur un serveur hôte. J'atteint la machine virtuelle avec un port SSH non standard (c'est-à-dire 766
) qu'une règle iptable transfère ensuite de host:766
à vm:22
.
Donc, quand je crée un nouveau repo, l'instruction d'ajouter une télécommande fournit une URL mal formée (car elle n'utilise pas le port 766
. Par exemple, l'interface web me donne ceci:
Malformé
Git remote ajouter l'origine git@git.domain.com:group/project.git
Au lieu d'une URL contenant :766/
avant le groupe.
Bien formé
Git remote ajouter l'origine git@git.domain.com:766/group/project.git
Il est donc temps que je crée un repo, je dois faire la modification manuellement, de même pour mon collaborateur. Comment puis-je régler ce problème ?
3 réponses
Si vous configurez correctement le ssh_port dans config / gitlab.yml, les pages web montreront l'url de repo correcte.
## GitLab Shell settings
gitlab_shell:
...
# If you use non-standard ssh port you need to specify it
ssh_port: 766
Ps. la bonne url est: ssh://git@git.domain.com:766/group/project.git
Edit: après le changement, vous devez effacer les caches, etc:
bundle exec rake cache:clear assets:clean assets:precompile RAILS_ENV=production
Dans les versions empaquetées Omnibus, vous pouvez modifier cette propriété dans le fichier /etc/gitlab/gitlab.rb
:
gitlab_rails['gitlab_shell_ssh_port'] = 766
Ensuite, vous devrez reconfigurer GitLab:
# gitlab-ctl reconfigure
Vos URI seront alors correctement affichés comme ssh://git@git.domain.com:766/group/project.git
dans l'interface web.
N.B.: {[8] } ceci a été testé sur une ancienne version de Giltab (v5
-v6
), et pourrait ne pas convenir à l'instance moderne.
, Vous pouvez obtenir un comportement similaire en 2 étapes:
1. Modifier: config/gitlab.yml
Sur le serveur, définissez le port à celui que vous utilisez:
ssh_port: 766
2. Modifier ~/.ssh/config
Sur votre ordinateur, ajoutez la section suivante correspondant à votre gitlab:
Host sub.domain.com
Port 766
Limite
, Vous devrez répéter cette opération sur chaque ordinateur de l'Utilisateur ...