On va voir maintenant comment utiliser GitLab et Git pour gérer le versioning du blog que nous avons créé précédemment et son déploiement afin d’y avoir accès sur le net (GitLab Pages).
Setup Git
Installer Git for Windows
Télécharger l’installateur ici.
Lancer l’installation en séléctionnant le Credential Manager Windows
.
Git est installé ainsi que le Git BASH et le Git GUI.
Créer un dépôt local sur du code existant
Dans le répertoire qui contient notre projet (ici le blog dont il est question dans les posts précédents).
Avec Git BASH ou une invit de commande
C:\hugo\sites\blog\>git init
Initialized empty Git repository in C:/hugo/sites/blog/.git/
Créer une clé SSH
Avec Git Bash
$ ssh-keygen -t rsa -C "your.email@yourwebmail.com" -b 4096
Le fichier id_rsa.pub
est créé sous %userprofile%\.ssh
Setup GitLab
Créer un compte
Créer un projet
En étant connecté avec votre compte GitLab c’est ici
Déclarer la clé SSH créée plus tôt
A cette adresse, copier le contenu du fichierid_rsa.pub
dans le champ Key
prévu à cet effet, lui affecter un nom (champ Title
) et valider (bouton Add key
)
Gestion de configuration
Dans l’explorateur Windows, se positionner dans le répertoire blog
et lancer Git BASH
Vérifier la configuration git
$ git config --list
Configurer git
Utilisateur
Pour une configuration locale au projet (–global pour une configuration générale)
$ git config --local user.name "your name"
$ git config --local user.email "your.email@yourwebmail.com"
Référentiel distant
$ git remote add origin https://gitlab.com/your-gitlab-user/your-gitlab-project.git
Pour vérifier
$ git remote -v
Si vous avez fait une erreur, pour le modifier
$ git remote set-url origin https://gitlab.com/your-gitlab-user/your-new-gitlab-project.git
Commit et push
Avant toute chose, si on souhaite exclure des fichiers, il est nécessaire de créer un fichier .gitignore
à la racine du projet.
Par exemple pour un blog HUGO embarqué sur les Pages de GitLab on va exclure le répertoire public
car celui-ci sera automatiquement construit par les fonctions de CI/CD vues plus loin dans ce post.
Commit local
$ git add .
$ git commit -m "init commit"
Push distant
$ git push -u origin master
Nous pouvons désormais modifier notre blog en local et pusher sur notre référentiel distant.
GitLab Pages
Il suffit de suivre les indications à l’URL suivante
Pour résumer et comme notre projet est déjà créé, il suffit d’activer le mode Intégration Continue / Déploiement Continu.
Pour cela créer le fichier .gitlab-ci.yml
à la racine du blog, commiter et pusher.
# All available Hugo versions are listed here: https://gitlab.com/pages/hugo/container_registry
image: registry.gitlab.com/pages/hugo:latest
test:
script:
- hugo
except:
- master
pages:
script:
- hugo
artifacts:
paths:
- public
only:
- master
Dans le projet GitLab aller dans la partie Settings
du projet, puis dans CI/CD
aller dans Runners settings
et cliquer sur Enable shared runners
Désormais à chaque push de code, GitLab va générer le site statique HUGO et le déployer.
Notre blog est maintenant accessible à cette URL : https://your-gitlab-user.gitlab.io/your-gitlab-project