Outils pour utilisateurs

Outils du site


work_in_progress:gitlab

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
work_in_progress:gitlab [2021/11/22 08:27] yoannwork_in_progress:gitlab [2022/01/04 22:06] (Version actuelle) yoann
Ligne 77: Ligne 77:
 exit exit
 </code> </code>
 +
 +source:
 +  * https://docs.gitlab.com/ee/security/reset_user_password.html
 +
 +
 +Pour pousser un projet git existant
 +<code bash>
 +git push --set-upstream ssh://git@gitlab.services.localhost:2222/root/$(git rev-parse --show-toplevel | xargs basename).git $(git rev-parse --abbrev-ref HEAD)
 +</code>
 +===== Utilisateurs =====
 +
 +Création des utilisateurs
 +
 +  * Menu -> Admin
 +  * Panneau Admin Area, Overview -> Users
 +
 +Depuis l'instance de test, le service de mail ne fonctionne pas, utiliser la procédure ci dessus pour définir le mot de passe de l'utilisateur.
 +
 +Une fois identifié l'utilisateur peut créer sa clé SSH
 +<code bash>
 +# générer une paire de clés
 +cd ~/.ssh
 +ssh-keygen -t rsa -b 4096 -C "yoann@gitlab.services.localhost" -f yoann_gitlab_localhost_rsa
 +
 +# Afficher la clé publique
 +cat yoann_gitlab_localhost_rsa.pub
 +
 +# copier /coller la valeur de la clé publique
 +</code>
 +
 +Pour tester la connexion au serveur:
 +
 +<code bash>
 +# Vérifier la valeur du fingerprint du serveur gitlab
 +ssh -l git -p 2222 -T -i ~/.ssh/yoann_gitlab_localhost_rsa  gitlab.services.localhost
 +</code>
 +
 +On notera qu'on utilise toujours le login **git** pour la connexion SSH. Le serveur différencie les utilisateurs via la clé publique déposée sur l'interface Web.
 +
 +Pour faciliter la connexion, on peut définir une entrée dans le fichier **~/.ssh/config**
 +<file>
 +Host gitlab
 +  HostName gitlab.services.localhost
 +  User git
 +  Port 2222
 +  PreferredAuthentications publickey
 +  IdentityFile ~/.ssh/yoann_gitlab_localhost_rsa
 +</file>
 +
 +Valider la configuration par un test:
 +<code bash>
 +$ ssh -T gitlab
 +Welcome to GitLab, @yoann!
 +</code>
 +
 +Créer un projet à partir d'un dépot existant:
 +
 +<code bash>
 +# Depuis dans le dépot git local
 +cd filez
 +
 +# Commande de création du dépot référence proposée par l'interface Web
 +git push --set-upstream ssh://git@gitlab/yoann/$(git rev-parse --show-toplevel | xargs basename).git $(git rev-parse --abbrev-ref HEAD)
 +</code>
 +
 +===== Modifier la page d'accueil =====
 +
 +Par défaut les utilisateurs non authentifiés sont redirigés sur la page de login. On peut changer ce comportement et proposer la page listant les projets publics.
 +
 +Depuis le compte root:
 +  * ''Menu > admin''
 +  * Une fois le panneau ''Admin Area'' chargé, sélectionner ''Settings > General''
 +  * Déployer la section ''Sign-in restrictions''
 +  * Modifier le champ intitulé ''Home page URL'' avec l' URL souhaitée (%%http://gitlab.fqdn:port/explore%%)
 +  * Valider les modification en via le bouton ''Save changes'' en fin de section
 +
 +
 +===== Déploiement sur serveur distant =====
 +
 +Pour déployer l'instance créée localement sur une machine distante:
 +  * Créer un répertoire pour l'application sur la machine distante. Pour l'exemple ''/path/to/gitlab''
 +  * Copier les fichiers docker-compose.yml et .env
 +  * Exporter et recréer les volumes si on souhaite conserver les données produites sur l'instance de test
 +  * Adapter le docker-compose au nouvel hôte
 +
 +<code bash>
 +# copier le docker-compose.yml et le .env via ssh
 +scp docker-compose.yml .env server.fqdn:/path/to/gitlab
 +
 +# les commandes suivantes utilisent des conteneurs temporaires pour monter les volumes,
 +# écrire leurs données sur la sortie standard, rediriger la sortie standard via un tunnel ssh
 +# sur l’entrée standard du conteneur sur l'hote distant et écrire les données dans
 +# de nouveaux volumes sur le serveur distant:
 +docker container run --rm -v gitlab_config:/mnt:ro busybox:latest /bin/tar -C /mnt -cf- . | ssh server.fqdn docker container run --rm -i -v gitlab_config:/mnt busybox:latest tar -C /mnt -xf-
 +
 +docker container run --rm -v gitlab_logs:/mnt:ro busybox:latest /bin/tar -C /mnt -cf- . | ssh server.fqdn docker container run --rm -i -v gitlab_logs:/mnt busybox:latest tar -C /mnt -xf-
 +
 +docker container run --rm -v gitlab_data:/mnt:ro busybox:latest /bin/tar -C /mnt -cf- . | ssh server.fqdn docker container run --rm -i -v gitlab_data:/mnt busybox:latest tar -C /mnt -xf-
 +</code>
 +
  
 ===== Références ===== ===== Références =====
work_in_progress/gitlab.1637569642.txt.gz · Dernière modification : 2021/11/22 08:27 de yoann