CI/CD · Artifacts

Artifacts

Versionnez, vérifiez et promouvez un artifact immuable depuis le build jusqu’à la production.

Leçon disponible
20 min

Objectifs

  • Distinguer source et artifact.
  • Comprendre version, immutabilité et artifact repository.
  • Reconnaître ZIP, JAR, package npm et image Docker.
  • Expliquer pourquoi le même artifact progresse entre les environnements.

Artifacts

Le source est la matière versionnée dans Git. L’artifact est le résultat consommable produit par le build : archive ZIP, JAR, package npm, image Docker ou autre binaire.

Un artifact repository, package registry ou container registry conserve les versions, métadonnées et contrôles d’accès. L’artifact publié doit être identifiable et idéalement immuable.

Formats et dépôts

Le format dépend de la stack. Le dépôt fournit un point de distribution contrôlé ; ce n’est pas un emplacement pour des credentials inclus dans le package.

  • ZIP : bundle ou archive générique.
  • JAR : package Java exécutable ou bibliothèque.
  • Package npm : module JavaScript publié dans un package registry.
  • Image Docker : filesystem et métadonnées distribués par un container registry.
  • Artifact repository : dépôt général pour binaires, archives et packages.

Promouvoir, ne pas reconstruire

Le même artifact v1.2.3 validé en DEV puis STAGING doit idéalement progresser jusqu’en PROD. Le reconstruire différemment pour chaque environnement introduit des variations non testées.

Promotion d’une version unique
Commit
   ↓
Build
   ↓
Artifact v1.2.3
   ↓
Repository
   ↓
Deploy DEV
   ↓
Deploy REC/STAGING
   ↓
Deploy PROD

La configuration d’environnement reste extérieure à l’artifact : URL, limites, feature flags et secrets sont injectés de manière contrôlée.

Versioning, immutabilité et checksum

Une version unique relie le déploiement au commit et au build. L’immutabilité interdit de remplacer silencieusement le contenu d’une version existante. Un checksum, par exemple SHA-256, permet de vérifier que les octets téléchargés correspondent à ceux publiés.

  • Ne réutilisez pas un tag de version pour un contenu différent.
  • Conservez commit, job, date et checksum comme provenance.
  • Scannez les dépendances et images avant promotion.
  • Restreignez publication et suppression dans le repository.

Mini résumé

  • Un artifact est le résultat versionné du build, distinct du source.
  • Registries et repositories stockent packages, images et binaires.
  • Une version immuable et son checksum renforcent intégrité et audit.
  • Le même artifact validé progresse idéalement de DEV vers PROD.

Mini quiz

Trois questions pour vérifier les notions essentielles de la leçon.

1. Quelle différence sépare source et artifact ?
2. Quelle pratique réduit les différences entre DEV et PROD ?
3. À quoi sert un checksum d’artifact ?