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.
Ce guide explique comment configurer un pipeline CI/CD complet pour une application React avec GitLab, permettant des déploiements automatisés. L’auteur souligne les avantages de cette approche, comme l’élimination des erreurs liées aux différences d’environnement local et la suppression des déploiements manuels, source de problèmes passés. Le tutoriel détaille la création d’un fichier .gitlab-ci.yml pour automatiser les tests, la construction et le déploiement sur GitLab Pages à chaque push sur la branche principale.
L’article illustre la configuration avec un projet React simple, intégrant des variables d’environnement pour afficher des informations comme l’heure de construction ou l’environnement. Il met en garde contre des pièges courants, comme la gestion des emojis dans les tests ou les restrictions de CRA concernant les variables d’environnement, et propose des solutions pratiques pour les contourner. Le pipeline est conçu pour reproduire fidèlement l’environnement de production, garantissant ainsi une cohérence dans les builds.
Cet article explore les différents types d'executors de GitLab Runner, essentiels pour optimiser vos pipelines CI/CD. Il explique en détail le fonctionnement des GitLab Runners, leur architecture, et les implications en termes de sécurité, coûts, et scalabilité. L'article souligne l'importance de comprendre les flux réseau et les distinctions entre le Runner Manager et les environnements d'exécution pour une configuration efficace et sécurisée.
L’article détaille la mise en place d’un pipeline GitLab CI pour un projet Symfony, avec les étapes clés suivantes :
-
Automatisation des tests (unitaires, fonctionnels) à chaque Merge Request ou push, en utilisant SQLite pour les tests (plus léger que PostgreSQL).
-
Configuration du fichier
.gitlab-ci.yml:- Définition des stages (
build,test). - Utilisation d’images Docker (PHP 8.3, Node 21.7) pour exécuter les jobs.
- Installation des dépendances (Composer, npm) et exécution des tests via PHPUnit.
- Gestion des fixtures et du schéma de base de données en environnement de test.
- Build des assets front-end (Webpack Encore) avec partage des artefacts entre jobs.
- Définition des stages (
-
Blocage des merges si les tests échouent, via l’option "Pipelines must succeed" dans les paramètres de GitLab.
-
Bonus : Pistes pour aller plus loin (analyse statique avec phpstan, audit de sécurité, déploiement automatique).
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
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
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
Tout est dans le titre
Tout est dans le titre
Tout est dans le titre
Tout est dans le titre