Lorsque vous codez avec votre équipe, vous rencontrez toujours les mêmes problèmes. Les tests sont répétitifs et chronophages, fusionner le code complique le déploiement, etc. Heureusement, une nouvelle tendance DevOps qui simplifie le workflow des développeurs est en train de gagner en popularité : le Continuous Integration/Continuous Deployment (CI/CD).

Le CI/CD est un pipeline de déploiement automatisé qui permet, entre autres, de tester du code et de le fusionner plus facilement. Vous pouvez même configurer vos paramètres CI/CD pour que le code déployé soit conforme aux standards pré-établis de l’application. En fin de compte, vous et vos équipes pourrez livrer rapidement de petits morceaux de code pour faire avancer votre projet avec efficacité.

Vous voulez essayer un pipeline CI/CD avant de le déployer dans votre environnement de production ? Nous vous avons préparé un tutoriel pour vous y aider, à l’aide de GitLab CI/CD et de Docker.

GitLab CI/CD est un outil communément utilisé pour créer des pipelines CI/CD. Il sert à construire, tester, déployer et faire du monitoring d’applications avec Auto DevOps. Nous utilisons Docker car c’est l’une des premières plateformes de conteneurisation, mais aussi une des plus populaires, notamment pour sa portabilité.

Voici comment vous pouvez créer un pipeline CI/CD avec Docker et nos Instances.

Créer un GitLab CI/CD avec Docker

Les utilisateurs de GitLab peuvent créer une Instance à l’aide de l’InstantApp GitLab en quelques clics.

  1. Installer le serveur GitLab.
  2. Installer un ou plusieurs runner(s) GitLab ainsi que le(s) fichier(s) de configuration.
  3. Un runner est une application qui exécute des tâches dans le pipeline GitLab CI/CD hébergé par le conteneur Docker de façon à isoler l’environnement de développement de celui d’exécution.
  4. La meilleure pratique consiste à installer votre runner GitLab sur un serveur différent de celui qui héberge l’Instance GitLab. Le runner et l’Instance étant séparés, vous obtiendrez une meilleure performance et plus de sécurité.
  5. Si vous le souhaitez, vous pouvez utiliser différents outils et systèmes d’exploitation d’une Instance à l’autre.
  6. Une fois que votre runner GitLab est déployé avec son fichier de configuration (gitlab.toml), les tâches CI/CD peuvent l’utiliser.
  7. Nota Bene : déployer le runner en tant que conteneur aidera à simplifier ce processus.
  8. Ensuite, ajouter un fichier .gitlab-ci.yml au référentiel de votre application contenant le code source. Le fichier .gitlab-ci.yml est un fichier de configuration qui décrit le runner GitLab à utiliser et les étapes du pipeline CI/CD (construire, tester, déployer en simulation, déployer en production).
  9. Paramétrez les différents tests auxquels vous souhaitez soumettre votre code avant que le CD ne le mette en environnement de production. Chaque étape du pipeline CI/CD peut exécuter différentes tâches à la fois, ce qui est très pratique lors des tests.
  10. Votre CI/CD est prêt !

À quoi s’attendre une fois le CI/CD lancé

Chaque fois qu’un utilisateur modifie le référentiel GitLab, ce dernier exécute votre nouveau pipeline CI/CD avec le runner GitLab sur l’Instance où le runner est installé.

  • L’exécuteur du runner traite les commandes dans les conteneurs Docker.
  • Le runner exécute le pipeline que vous avez décrit dans .gitlab-ci.yml. En règle générale, une étape du CI/CD construit une image Docker à l’aide de votre application et la transfère vers un registre Docker. Cependant, dans ce cas, l’image est transférée vers le registre GitLab de votre projet sur votre serveur GitLab.
  • Pour la prochaine étape de votre CI/CD, cette image sera utilisée pour un déploiement automatique ou manuel vers l’environnement de votre choix.

PLAY2 : un environnement sandbox pour expérimenter en toute sécurité

Vous êtes prêts à essayer un pipeline CI/CD mais vous répugnez à le déployer directement dans votre environnement de production ?

Un environnement sandbox vous offre une machine virtuelle isolée qui imite votre environnement de production et le protège ainsi de tout incident lors de vos tests. Scaleway vient justement de lancer une nouvelle gamme d’Instances : PLAY2, qui sont tout spécialement conçues pour aider les développeurs à créer l’environnement sandbox adapté à leurs besoins.

Les Instances PLAY2 sont comme un environnement de production, en plus petit et plus abordable. Ainsi, vous pouvez développer votre application sur PLAY2 et la mettre en production et à l’échelle sur notre environnement de production PRO2. Une solution simple et qui assure une compatibilité absolue.

De plus, les Instances PLAY2 sont compatibles avec notre nouvelle fonctionnalité : Boot-on-Block. Cette dernière vous permet d’ajouter du volume de bloc à tout moment et sur toutes sortes d’Instances, et deux à trois fois plus vite qu’avec un stockage local. De même, il duplique automatiquement vos données sur trois serveurs pour éviter une perte de données en cas d’incident.

Les Instances PLAY2 n’offrent pas seulement rapidité et flexibilité, elles présentent aussi des options personnalisables pour que vous puissiez créer un environnement sandbox à l’image de votre environnement de production.

Ces préconfigurations pour hardware, Images OS et InstantApps (dont GitLab et Docker, bien évidemment !) vous permettent de déployer vos expériences sans perdre de temps à bricoler avec les configurations.

De plus, une fois que vous aurez bien vérifié que la performance de votre CI/CD correspond à vos attentes, vous pouvez ajouter une étape supplémentaire au pipeline pour déployer votre application sur votre environnement de production, comme vous l’avez déjà fait avec votre sandbox.

Spécifications techniques

Même si les Instances PLAY2 servent à faire des tests, leurs performances, elles, n'ont rien d'expérimental. Nous avons doté nos Instances PLAY2 des nouveaux processeurs AMD EPYC™ Série 7003 pour une puissance de 1vCPU à 4vCPU avec 2 Go de RAM par vCPU.

Et nous n’avons pas peur de le dire : nous offrons le meilleur rapport prix / performance sur le marché. Découvrez PLAY2 à partir de 10 € par mois ou 0,014 € de l’heure, c’est-à-dire un coût d’infrastructure 40 % moins élevé que chez les plus grands fournisseurs.

Prêts à tester les prochaines solutions et mises à niveau pour vos projets professionnels ? Déployez votre première Instance PLAY2 dès maintenant.

Plus d’informations