Skip to content
Extraits de code Groupes Projets
.gitlab-ci.yml 1,23 Kio
# Ce fichier décrit les étapes d'intégration continue et de déployement pour le site bloquelapub.net

# Concrètement, étant donné que nous utilions du HTML et CSS sans compilation à travers webpack ou autre, nous avons simplement besoin de 
# mettre en ligne le site web dans le FTP de Ouvaton.coop.

# Les identificants sont disponibles dans le trousseau sysadmin à la Quadrature du Net, mais aussi dans les variables protégées dans le dépôt git.

# Les étapes sont donc les suivantes : 
stages:
  - deploy
  - post


deploy-to-ftp:
    stage: deploy
    before_script: # On installe lftp pour permettre des transfert plus facilements dans une CI.
      - apt-get update -qy
      - apt-get install -y lftp
    # Se connecter au FTP et transférer les fichiers
    script: lftp -c "open $HOST; user $FTPUSERNAME $FTPPASS; mirror -X * --reverse --verbose --delete --ignore-time --parallel=10 ./ httpdocs/; bye"
    only:
        - master

# Affirmer que le fichier index.html sur bloquelapub.net est identique au fichier index.html dans le dépôt git.
assert-good-deploy:
  stage: post
  script: wget -q -O - https://bloquelapub.net | diff -q - index.html
  only:
    - master

# Voir : https://savjee.be/blog/gitlab-ci-deploy-to-ftp-with-lftp/