diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml new file mode 100644 index 0000000000000000000000000000000000000000..e209c6fbabb683bcc5f7a6ee210c6f3b02ac7579 --- /dev/null +++ b/.gitlab-ci.yml @@ -0,0 +1,31 @@ +# 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/