Ci-dessous, les différences entre deux révisions de la page.
| Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
| work_in_progress:gitlab [2021/11/19 13:32] – yoann | work_in_progress:gitlab [2022/01/04 22:06] (Version actuelle) – yoann | ||
|---|---|---|---|
| Ligne 45: | Ligne 45: | ||
| <code bash> | <code bash> | ||
| docker-compose exec gitlab grep ' | docker-compose exec gitlab grep ' | ||
| + | </ | ||
| + | |||
| + | < | ||
| + | Le fichier contenant le mot de passe root généré à l' | ||
| + | </ | ||
| + | |||
| + | ===== Redéfinir le mot de passe administrateur ===== | ||
| + | |||
| + | <code bash> | ||
| + | # ouvrir une console Ruby on Rails | ||
| + | gitlab-rails console -e production | ||
| + | |||
| + | # retrouver l' | ||
| + | user = User.where(id: | ||
| + | |||
| + | # ou via l' | ||
| + | # user = User.find_by(email: | ||
| + | |||
| + | |||
| + | # vérifier que l' | ||
| + | puts user.email, user.id | ||
| + | |||
| + | # Redéfinir le mot de passe | ||
| + | user.password = ' | ||
| + | user.password_confirmation = ' | ||
| + | |||
| + | # sauvegarder les modifications | ||
| + | user.save! | ||
| + | |||
| + | # Quitter la console interactive | ||
| + | exit | ||
| + | </ | ||
| + | |||
| + | source: | ||
| + | * https:// | ||
| + | |||
| + | |||
| + | Pour pousser un projet git existant | ||
| + | <code bash> | ||
| + | git push --set-upstream ssh:// | ||
| + | </ | ||
| + | ===== Utilisateurs ===== | ||
| + | |||
| + | Création des utilisateurs | ||
| + | |||
| + | * Menu -> Admin | ||
| + | * Panneau Admin Area, Overview -> Users | ||
| + | |||
| + | Depuis l' | ||
| + | |||
| + | Une fois identifié l' | ||
| + | <code bash> | ||
| + | # générer une paire de clés | ||
| + | cd ~/.ssh | ||
| + | ssh-keygen -t rsa -b 4096 -C " | ||
| + | |||
| + | # Afficher la clé publique | ||
| + | cat yoann_gitlab_localhost_rsa.pub | ||
| + | |||
| + | # copier /coller la valeur de la clé publique | ||
| + | </ | ||
| + | |||
| + | Pour tester la connexion au serveur: | ||
| + | |||
| + | <code bash> | ||
| + | # Vérifier la valeur du fingerprint du serveur gitlab | ||
| + | ssh -l git -p 2222 -T -i ~/ | ||
| + | </ | ||
| + | |||
| + | 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' | ||
| + | |||
| + | Pour faciliter la connexion, on peut définir une entrée dans le fichier **~/ | ||
| + | < | ||
| + | Host gitlab | ||
| + | HostName gitlab.services.localhost | ||
| + | User git | ||
| + | Port 2222 | ||
| + | PreferredAuthentications publickey | ||
| + | IdentityFile ~/ | ||
| + | </ | ||
| + | |||
| + | Valider la configuration par un test: | ||
| + | <code bash> | ||
| + | $ ssh -T gitlab | ||
| + | Welcome to GitLab, @yoann! | ||
| + | </ | ||
| + | |||
| + | 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' | ||
| + | git push --set-upstream ssh:// | ||
| + | </ | ||
| + | |||
| + | ===== Modifier la page d' | ||
| + | |||
| + | 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: | ||
| + | * '' | ||
| + | * Une fois le panneau '' | ||
| + | * Déployer la section '' | ||
| + | * Modifier le champ intitulé '' | ||
| + | * Valider les modification en via le bouton '' | ||
| + | |||
| + | |||
| + | ===== Déploiement sur serveur distant ===== | ||
| + | |||
| + | Pour déployer l' | ||
| + | * Créer un répertoire pour l' | ||
| + | * Copier les fichiers docker-compose.yml et .env | ||
| + | * Exporter et recréer les volumes si on souhaite conserver les données produites sur l' | ||
| + | * 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:/ | ||
| + | |||
| + | # 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:/ | ||
| + | |||
| + | docker container run --rm -v gitlab_logs:/ | ||
| + | |||
| + | docker container run --rm -v gitlab_data:/ | ||
| </ | </ | ||