Mon gitlab
se trouve sur une machine virtuelle sur un serveur hôte. J'atteins le VM avec un port SSH non standard (c'est-à-dire 766
) qu'une règle iptable transmet ensuite à partir de Host:766
à vm:22
.
Ainsi, lorsque je crée un nouveau référentiel, l'instruction d'ajouter une télécommande fournit une URL mal formée (car elle n'utilise pas le 766
Port. Par exemple, l'interface Web me donne ceci:
git remote add Origin [email protected]: group/project.git
Au lieu d'une URL contenant :766/
devant le groupe.
git remote add Origin [email protected]: 766/group/project.git
Il est donc temps que je crée un dépôt, je dois faire la modification manuellement, de même pour mon collaborateur. Comment puis-je résoudre ce problème?
si vous configurez correctement ssh_port dans config/gitlab.yml, les pages Web afficheront l'URL de dépôt correcte.
## GitLab Shell settings
gitlab_Shell:
...
# If you use non-standard ssh port you need to specify it
ssh_port: 766
ps. l'url correcte est: ssh: //[email protected]: 766/group/project.git
modifier: 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 packagées Omnibus, vous pouvez modifier cette propriété dans /etc/gitlab/gitlab.rb
fichier:
gitlab_Rails['gitlab_Shell_ssh_port'] = 766
Ensuite, vous devrez reconfigurer GitLab:
# gitlab-ctl reconfigure
Vos URI seront alors correctement affichés comme ssh://[email protected]:766/group/project.git
dans l'interface Web.
N.B.: cela a été testé sur une ancienne version de Giltab (v5
-v6
) , et peut ne pas convenir à une instance moderne.
Vous pouvez obtenir un comportement similaire dans un processus en 2 étapes:
config/gitlab.yml
Sur le serveur, définissez le port sur celui que vous utilisez:
ssh_port: 766
~/.ssh/config
Sur votre machine, ajoutez la section suivante correspondant à votre gitlab:
Host sub.domain.com
Port 766
Vous devrez répéter cette opération sur l'ordinateur de chaque utilisateur…