Aperçu de la fonction déploiement automatique dans le PaaS Scalingo avec GitHub ...
Tags: docker, cloud, github, devops
Published: 2020-04-05 14:45:50

![](https://telegra.ph/file/4ddda187fa2eb4ff5efc0.png)

Créé en 2015 par Yann Klis, Léo Unbekandt et Jean-Christophe Gay, la startup Scalingo propose une plateforme cloud "No OPS" qui permet aux équipes de développeurs de déployer en moins de 2 minutes leurs projets, sans avoir à gérer de serveurs et sans connaissance en administration système.

Scalingo est un PaaS (Platform as a Service) français disponible notamment sur le Cloud 3DS OUTSCALE. Du prototypage jusqu'à la production, Scalingo permet aux développeurs de contrôler facilement l'hébergement de leur apps sans avoir à gérer de serveurs. Scalingo est déjà utilisée par plus de 300 équipes hébergeant plus de 2500 applications : <https://scalingo.com/fr>

![](https://telegra.ph/file/87c029942e1193ee70025.png)

Scalingo offre une intégration approfondie avec les outils de gestion de code source (SCM) tels que GitHub et GitLab. Il comprend des fonctionnalités telles que le déploiement automatique lorsque le code est modifié sur le référentiel SCM, le déploiement directement à partir d'une branche, la création et le déploiement automatiques des Pull Requests, et bien plus encore ... 

<https://doc.scalingo.com/platform/app/scm-integration>

![](https://telegra.ph/file/c7ff29dcf9fa9b072b30b.png)

L'objectif de l'intégration SCM est d'automatiser le GitHub Flow, une bonne pratique dans le développement d'applications modernes. Notez que malgré son nom, le GitHub Flow est parfaitement applicable aux applications hébergées GitLab. En effet, depuis peu Scalingo est en mesure de fournir le même niveau d'intégration avec GitLab , GitHub Enterprise et les instances GitLab auto-hébergées : <https://scalingo.com/blog/new-scm-integrations>

![](https://telegra.ph/file/4b09478c010b3b5bb2c52.png)

J'ai commencé par ouvrir un compte dans Scalingo en Trial ( <https://doc.scalingo.com/platform/getting-started/free-trial> ) et j'installe pour ce test la ligne de commande Scalingo par ce biais : <https://doc.scalingo.com/cli>

```shell
curl -O https://cli-dl.scalingo.io/install && bash install
```

avec ces options :

![](https://telegra.ph/file/894143767f4ccb9848da1.png)

Je vérifie que ma clé SSH et mon compte GitHub sont bien liés :

![](https://telegra.ph/file/a961cf3466e7b51d790dc.png)

![](https://telegra.ph/file/807151887f6e144db73f9.png)

Je peux créer mon application à partir du démonstrateur FC :

![](https://telegra.ph/file/769e516292a71ec9c37a5.png)

Et je peux lier cette application à mon dépôt GitHub et déploiement automatique depuis la branche Master :

![](https://telegra.ph/file/01cbc4fa49f7dd33428dd.png)

Je déploie la première fois le démonstrateur FC sur la base d'une archive tar.gz locale :

![](https://telegra.ph/file/d8e7c691215ba19158abd.png)

![](https://telegra.ph/file/6ddb6969445e2c84a7801.png)

![](https://telegra.ph/file/f12acf2de6d0483179a7b.png)

Sur la base de l'adresse retournée, je peux accéder au démonstrateur FC :

![](https://telegra.ph/file/188ec00468bc6c06a590a.jpg)

![](https://telegra.ph/file/cc3333a6f278ed501e956.jpg)

![](https://telegra.ph/file/991485144abec2090856b.jpg)

Sur le dashboard de Scalingo, je peux visualiser les logs de l'application :

![](https://telegra.ph/file/830ca20c747bfef353869.jpg)

ou en ligne de commande :

![](https://telegra.ph/file/e5708919570d1ffb85af6.png)

ainsi que des métriques de base :

![](https://telegra.ph/file/0e79e1b6e60603bbdc2a2.jpg)

Avec la possibilité d'être notifié sur un canal Slack par exemple :

![](https://telegra.ph/file/dc29fd63927003a2aef3f.jpg)

![](https://telegra.ph/file/41415a3d9cc9b7a1121bb.jpg)

Je peux mettre à l'échelle cette application en multipliant ici le nombre de containers par 4 :

![](https://telegra.ph/file/0ff8df19accd327da32f8.png)

![](https://telegra.ph/file/d9c9c3ee1f503d186ab6b.jpg)

ou directement sur la dashboard de Scalingo :

![](https://telegra.ph/file/cec3e5a3ad6f9cceed2c9.jpg)

Pour tester le mode déploiement automatique depuis la branche Master du dépôt GitHub du démonstrateur FC, j'effectue une mise à jour du manifeste de déploiement YAML (qui a changé depuis la version 1.16 de Kubernetes) :

![](https://telegra.ph/file/d932abc29127679b3793c.jpg)

Le changement est détecté dans la branche Master et un déploiement automatique s'effectue dans Scalingo :

![](https://telegra.ph/file/c67f5be803188ccd82b32.jpg)

![](https://telegra.ph/file/96ccc0072b0e18260bef9.jpg)

![](https://telegra.ph/file/8b4f4aa9a1351411d09f6.jpg)

![](https://telegra.ph/file/53f0b57382949838439a1.jpg)

Ici j'ai forcé la redirection HTTP vers HTTPS :

![](https://telegra.ph/file/3e4e0adf7478ab239455d.jpg)

![](https://telegra.ph/file/c99859ad9fe59562ab01d.jpg)

Tout en ayant la possibilité également d'actionner le mode Autoscale pour cette application :

![](https://telegra.ph/file/392ba61c46c2db56509a7.jpg)

Pour finir, je peux supprimer simplement cette application en ligne de commande (ou sur le dashboard) :

![](https://telegra.ph/file/4eec05001492869c1c49f.png)

![](https://telegra.ph/file/c1dc278f4f26bf96dea6d.jpg)

![](https://telegra.ph/file/7c2e737c2e014080779ac.jpg)

Scalingo possède plusieures régions et notamment une région dans le Cloud de 3DS OUTSCALE qui a obtenu les certifications ISO 27001-2013, 27017 et 27018 ainsi que le visa SecNumCloud délivré par l'ANSSI :

<https://fr.outscale.com/communiques-presse/scalingo-sappuie-sur-le-cloud-de-3ds-outscale-pour-offrir-fiabilite-et-securite/>

<https://www.silicon.fr/secnumcloud-lanssi-decerne-le-premier-visa-a-3ds-outscale-328357.html>

![](https://telegra.ph/file/c9e210bef3a94ea00fb5b.jpg)

![](https://telegra.ph/file/98403d3650980fe89db8d.png)

À suivre !