Ce guide de GitLab explique comment sécuriser les conteneurs à chaque étape de leur cycle de vie grâce à différentes méthodes de container scanning. L’objectif est de détecter les vulnérabilités dès leur apparition, que ce soit lors de la construction de l’image ou en production, afin d’éviter les risques liés aux dépendances externes (OS, bibliothèques, etc.). GitLab propose cinq approches de scanning, dont le pipeline-based Container Scanning, qui analyse les images via Trivy lors des pipelines CI/CD pour bloquer les images vulnérables avant déploiement.
L’article détaille notamment l’activation du pipeline-based Container Scanning, soit via une configuration automatique via une merge request, soit manuellement en ajoutant un template dans le fichier .gitlab-ci.yml. Il est possible de personnaliser le scan en ciblant une image spécifique ou en filtrant les vulnérabilités selon leur gravité (ex. uniquement les vulnérabilités High ou plus). Les résultats s’affichent directement dans les merge requests, avec des détails sur la sévérité, les paquets concernés et les correctifs disponibles.
Dans ce second volet de leur série sur le déploiement On-Premise, JoliCode explique comment automatiser et simplifier la création et la publication des images Docker en production grâce à Castor, un outil de gestion de tâches PHP. L’article détaille une task Castor (production:build) qui vérifie la branche Git, les modifications non commitées, construit les images et les pousse vers un registre privé, tout en gérant les tags de version (format YYYY.MM.DD). L’objectif est de rendre le processus de déploiement plus fluide et autonome pour les clients. Un exemple de code et des explications sur l’intégration avec GitLab CI sont également fournis.
JoliCode explique comment ils ont modernisé une application Symfony 7.4 (avec PHP 8.4 et FrankenPHP) pour l'archéologie, en permettant un déploiement hybride : SaaS en ligne et On-Premise (OP) hors réseau. Leur solution repose sur une stack Docker unifiée (mêmes images pour tous les environnements), pilotée par des tâches Castor pour simplifier le développement local. L'article détaille l'architecture Docker, l'automatisation des builds et le déploiement OP, avec des feature flags via variables d'environnement. Une approche pragmatique pour concilier flexibilité et contraintes métiers.
L'article explore la règle bien connue de ne pas déployer de nouvelles versions de logiciels le vendredi. L'auteur analyse les avantages et les inconvénients de cette pratique, en tenant compte du contexte métier, de la fréquence des releases et des pratiques techniques. Il souligne que cette règle peut être pertinente dans certains cas, comme pour les systèmes critiques ou les sites e-commerce, mais moins pour les systèmes où les risques et les menaces sont faibles. Il insiste également sur l'importance d'automatiser les processus de déploiement et de garantir la compatibilité descendante pour minimiser les risques. En conclusion, l'auteur suggère que la décision de déployer ou non le vendredi dépend largement du contexte spécifique de chaque organisation.
Dokploy est un PaaS open source simplifiant le déploiement moderne sur des serveurs Linux, qu'ils soient on-premise ou dans le cloud. Son installation via un script automatisé est accessible même aux débutants. L'interface intuitive permet de gérer des projets, du monitoring, des tâches planifiées, et offre un accès direct aux configurations de Traefik et Docker Swarm. Dokploy supporte également la gestion de clusters multi-nœuds, des registres Docker personnalisés, des backups vers S3, et des certificats SSL. Un onglet AI est disponible pour générer des Dockerfiles ou configurations. Un tutoriel montre comment déployer un site WordPress en quelques étapes.
L’article explique comment déployer des applications PHP sans interruption de service en utilisant la méthode blue-green : deux environnements identiques (blue et green) sont maintenus, l’un actif, l’autre en standby. Le déploiement consiste à installer la nouvelle version sur l’environnement inactif, à vérifier son bon fonctionnement, puis à basculer le trafic de manière instantanée et réversible (via un lien symbolique, un load balancer ou Kubernetes). Les avantages incluent un temps d’arrêt quasi nul et un retour arrière rapide en cas de problème. Pour PHP, il est crucial de centraliser les sessions (Redis/Memcached), les uploads (dossier partagé ou S3), et de gérer l’Opcache et les migrations de base de données avec la méthode "expand/contract" pour éviter les ruptures. L’article propose des scripts prêts à l’emploi pour un serveur unique avec Nginx/PHP-FPM, un load balancer ou des conteneurs, ainsi qu’une checklist pour un déploiement sécurisé, incluant des vérifications de santé et la gestion des caches. Les pièges courants (sessions perdues, caches obsolètes, migrations bloquantes) et des outils comme Deployer ou GitHub Actions sont aussi abordés, soulignant que cette approche transforme les déploiements en opérations sans stress.
L'article explique comment déployer un projet Symfony en utilisant la pipeline CI/CD de Gitlab. Il donne aussi quelques conseils et bonnes pratiques
L'article explore cinq stratégies de déploiement populaires pour minimiser les risques et assurer une expérience utilisateur fluide lors de la mise en production de nouvelles fonctionnalités.
-
Blue/Green Deployment : Utilise deux environnements identiques pour permettre un retour en arrière instantané et garantir une disponibilité continue. Idéal pour les applications nécessitant un temps d'arrêt nul, comme la fintech ou la santé
-
Canary Deployment : Déploie progressivement les nouvelles versions à un petit groupe d'utilisateurs pour détecter les problèmes avant une mise en production complète. Adapté aux applications à grande échelle où les déploiements complets immédiats sont risqués
-
A/B Testing : Compare différentes variations d'une fonctionnalité pour déterminer laquelle performe le mieux. Utile pour les produits B2C axés sur l'optimisation du comportement utilisateur
-
Feature Flag Deployment : Permet de déployer du code sans l'activer immédiatement, facilitant les déploiements continus et les expérimentations. Convient aux équipes pratiquant la livraison continue
-
Rolling Deployment : Met à jour les instances progressivement, réduisant ainsi le temps d'arrêt. Adapté aux environnements conteneurisés et microservices
Le choix de la stratégie dépend de la tolérance au temps d'arrêt, de la taille de la base d'utilisateurs, de la complexité de l'infrastructure, des contraintes de coût et des besoins en expérimentation et analyse
L'article explique comment automatiser le déploiement d'un site statique généré avec 11ty, hébergé sur GitHub, vers un serveur alwaysdata. Le processus inclut la configuration d'un webhook sur GitHub pour notifier alwaysdata des mises à jour, l'installation d'une bibliothèque de gestion de webhooks sur alwaysdata, et la création de scripts pour automatiser le déploiement. L'article détaille chaque étape, depuis la configuration initiale jusqu'à la gestion des éventuels problèmes, pour assurer un déploiement fluide et automatisé des mises à jour du site
.
Tout est dans le titre
Tout est dans le titre
Tout est dans le titre
Tout est dans le titre
Tout est dans le titre - l'auteur migre de Docker vers Kubernetes
Tout est dans le titre
L'auteur a gagné un an d’abonnement au SaaS de Sidero Labs (les créateurs de Talos Linux), Omni. Omni est une solution de déploiement de clusters Kubernetes qui permet d’orchestrer des serveurs sous Talos, un Linux dédié à Kubernetes.
Comme Oracle Cloud propose un free tier et comme Talors / Omni supportent Oracle Cloud, l'auteur montre comment déployer Talos Linux sur Oracle Cloud.
Tout est dans le titre
Tout est dans le titre
Tout est dans le titre
Tout est dans le titre