Le déploiement manuel : non merci, j'essaie d'arrêter !

La présentation

Vidéo

Diaporama

Lien vers le diaporama.

Le sujet

Quand on apprend à créer des sites web, on apprend souvent comment déployer son site en FTP. En agence, on doit travailler avec d'autres personnes et il devient nécessaire de versionner tout le projet et d'automatiser le processus de "build".

Déployer manuellement en FTP est toujours possible, mais il est facile de faire des erreurs ou de dépendre d'une unique personne : la tâche étant rendue plus complexe par l'industrialisation du projet. Heureusement les outils ont beaucoup évolué et il n'est pas très difficile de nos jours d'automatiser la mise en (pré)production de nos sites !

Nous partirons d'un cas d'exemple : un site statique généré grâce à Jekyll et Grunt, dont le code source est hébergé sur GitLab. On s'intéressera tout d'abord au système de "continuous integration" (CI) de GitLab. On verra qu'il est possible de vérifier automatiquement et systématiquement que le processus de "build" est fonctionnel. C'est quand même beaucoup mieux qu'une documentation pas mise à jour depuis 6 mois !

Avec GitLab CI, il est très facile d'utiliser Docker pour maîtriser son environnement de "build", vous pensez bien qu'on ne se privera pas de le faire ! L'étape suivante est le déploiement en lui-même : Quand le déclencher ? Comment éviter un downtime de notre site ? Que se passe-t-il si la procédure de déploiement échoue ? Nous répondrons à ces questions en présentant deux solutions pour deux usages : "Deployer" et "lftp".

À l'issue de cette conférence, vous saurez comment augmenter la qualité de vos projets web à grands renforts d'automatisation ! Et vous pourrez vous concentrer sur ce qui compte vraiment : faire de belles applications et réagir rapidemment aux retours des clients.

Présenté par David Sferruzza

David Sferruzza

David Sferruzza est responsable R&D chez Escale, une agence web nantaise innovante, et prépare une thèse doctorale à l'Université de Nantes. Sa formation d'ingénieur généraliste (Icam) et sa passion pour le développement (et notamment la programmation fonctionnelle) lui offrent une double vision qui est bien utile quand il s'agit d'industrialiser des projets web.

En ce moment, il aime bien développer en Scala, Haskell et Nix des outils liés de près ou de loin au web.