Gitlab
Plateforme pour déployer du code sur un serveur
Documentation
Du local à Gitlab
Pour pusher du code local sur Gitlab, il faut créer un repository sur la plateforme.
Aller dans
Settings > CI / CD
et ajouter votre clé publique SSH dansDeploy Keys
.
Si vous avez déjà utilisé votre clé SSH locale dans un projet de votre Gitlab, allez la chercher dans l'onglet Privately accessible deploy keys
.
Il est possible que la clé n'ai pas les droits d'écriture sur le repository. Dans ce cas, éditer la clé dans Gitlab et cocher la case Write access allowed
.
De Gitlab au serveur
Pour mettre en place du code sur un serveur, il faut que Gitlab puisse accéder au serveur via SSH pour récupérer le code.
Configuration
Aller dans le projet, puis
Settings > Repository > Deploy Keys
.Sur le serveur, créer une nouvelle clé SSH :
ssh-keygen -o -t rsa -C "sebastien@wecoprod.com" -b 4096
(id_rsa.pub
).Ajouter le contenu du fichier
id_rsa.pub
dans le formulaire.
Attention : si le serveur est déjà présent, il faut passer par la liste des clés SSH utilisées dans Gitlab.
Il faut ensuite ajouter les variables pour le CI.
Aller dans
Settings > CI / CD > Variables
.Sur le serveur, créer une nouvelle clé SSH (pour Gitlab) :
ssh-keygen -o -t rsa -C "sebastien+gitlab@wecoprod.com" -b 4096
. Utiliserid_rsa_gitlab.pub
comme nom du fichier.Ajouter la clé publique aux accès autorisés :
cat .ssh/id_rsa_gitlab.pub >> .ssh/instance_keys
.Copier la clé privée dans la variable
SSH_PRIVATE_KEY
.
J'utilise le fichier instance_keys
pour stocker la clé publique de Gitlab car le fichier autorized_keys
peut être écrasé au démarrage. C'est le cas dans les instances Scaleway…
Initialiser le repository GIT : git init
Fichier de conf
Variables :
DEPLOYMENT_SERVER_IP
: IP du serveur distantSSH_USER
: utilisateur SSH du serveur distantSSH_PRIVATE_KEY
: clé privée du serveur distant
Copier la clé privée du serveur distant dans la variable .
Dernière mise à jour