web-dev-qa-db-fra.com

Gitlab avec port SSH non standard (sur VM avec transfert Iptable)

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:

Malformé

git remote add Origin [email protected]: group/project.git

Au lieu d'une URL contenant :766/ devant le groupe.

Bien formé

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?

35
Édouard Lopez

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
33
gdamjan

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.

74
Peque

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:

1. Modifier: config/gitlab.yml

Sur le serveur, définissez le port sur celui que vous utilisez:

ssh_port: 766

2. Modifier ~/.ssh/config

Sur votre machine, ajoutez la section suivante correspondant à votre gitlab:

Host sub.domain.com
        Port 766

Limite

Vous devrez répéter cette opération sur l'ordinateur de chaque utilisateur…

Les références

4
Édouard Lopez