Skip to main content

📄 Exemple avec Pages

Tout d'abord on va créer un nouveau repo sur Gitlab. Puis on va l'ajouter dans un repo local.

git init gitlab-pages-test
cd gitlab-pages-test
git remote add origin <lien ssh ou https ici>

Ensuite on va crĂ©er un nouveau fichier index.html dans lequel il est simplement Ă©crit "Hello, World!"

echo "Hello, World!" > index.html

Maintenant que l'on a crĂ©Ă© notre contenu, on va crĂ©er le fichier principal .gitlab-ci.yml qui va contenir les instructions pour crĂ©er notre projet. Ce fichier constitue ce qui s'appelle dans GitLab, une "pipeline"

# "pages" est le nom du "job"
pages:
    # Stage indique quel type d'action qui est effectuée (par exemple: test, build, deploy)
    stage: deploy

    # L'image est la base du systĂšme dans lequel les commandes d'installation du projet vont ĂȘtre lançées. Dans ce cas ci, debian
    # Nous verrons plus en détail cela dans le chapitre sur Docker
    image: debian

    # Les artifacts sont des fichiers ou dossier qui vont ĂȘtre exportĂ©. Dans cet exemple `public` va ĂȘtre exportĂ©e en dehors de notre "pipeline"
    artifacts:
        paths:
            - public

    # Le "before_script" spécifie les commandes d'installation de l'environement, par exemple ici nous allons utiliser rsync pour déployer notre projet. Donc j'installe rsync
    # Il faut toujours faire en sorte que les commandes ne nécessite pas d'intéraction (exemple, en ajoutant -y à la commande APT)
    before_script:
        - apt-get update
        - apt-get install -y rsync

    # Le "script" est la partie principale. Elle indique les commandes à lancer pour déployer notre projet. 
    # Ici on ne fait que créer un nouveau dossier public et copier tous les fichiers du projets (à l'exception de "public/") dans le dossier "public/"
    script:
        - mkdir public
        - rsync -rv * public/ --exclude=public/

    # On précise que seul les pushs vers la branche main peuvent appeller le job "pages".
    only:
        - main

Une fois nos deux fichiers créé on peut maintenant envoyer le tout sur le serveur

git add index.html .gitlab-ci.yml
git commit -m "Test de CI/CD sur gitlab"
git push origin main

Mainetnant on peut aller dans l'onglet "CI/CD" de Gitlab, puis dans "Jobs", puis sur "Running" pour voir les détails de ce qu'il se passe.

Si tout se passe bien aprĂšs quelques secondes il devrait ĂȘtre Ă©crit "Passed" et le site devrait ĂȘtre accessible. Le lien est trouvable dans l'onglet paramĂštre du repo, puis dans "Pages".

Plus d'info