Combien de temps conserver les artefacts de build CI Mac en entreprise ? Guide 2026

Ce guide aide les responsables iOS, plateforme et conformité à définir une conservation adaptée à chaque type d’artefact CI sur Mac. Il distingue les éléments indispensables au diagnostic et à l’audit des données reconstructibles, puis propose des contrôles concrets de récupération et de suppression.

Combien de temps conserver les artefacts de build CI Mac en entreprise ? Guide 2026

Sommaire

Pour diagnostiquer un crash, Apple associe deux éléments qui ne sont pas interchangeables : l’archive de l’application et les symboles dSYM correspondants (documentation sur les informations de débogage). La stratégie de conservation des artefacts de build CI Mac en entreprise doit donc séparer les preuves de publication des fichiers reconstructibles : cette semaine, vérifiez d’abord la récupération d’une version déjà distribuée, puis définissez des règles différentes pour les archives, les journaux, les rapports, les caches et les espaces temporaires.

Ce guide s’adresse aux responsables de publication iOS qui doivent retrouver une archive et ses dSYM pour diagnostiquer un crash.
Il concerne aussi les ingénieurs plateforme qui gèrent le stockage, les caches et les journaux des nœuds Mac.
Les responsables IT, sécurité ou conformité y trouveront une méthode pour attribuer les responsabilités et prouver qu’une récupération est possible.

Un nettoyage uniforme transforme une économie de stockage en risque de publication

Un répertoire de travail CI rassemble souvent des fichiers aux fonctions très différentes. Les supprimer selon une règle unique peut certes libérer de l’espace, mais crée plusieurs risques opérationnels :

La conservation doit donc répondre à quatre besoins, qui peuvent entrer en tension : reconstruire un résultat, diagnostiquer un défaut, justifier une publication et restaurer les fichiers après une perte. Vous n’avez pas besoin d’une durée identique pour ces usages. Vous avez besoin d’une règle explicite par catégorie, d’un emplacement connu et d’une personne responsable.

Les artefacts n’ont pas tous la même valeur de preuve

Avant de fixer une échéance, classez chaque fichier selon sa fonction et le coût de sa perte. La distinction entre archive et cache est particulièrement importante : la documentation CI distingue les données conservées comme artefacts de celles qui accélèrent une exécution et peuvent être reconstruites (documentation sur la différence entre caches et artefacts).

Pour comparer vos règles, attribuez à chaque catégorie une appréciation qualitative : forte si une perte compromet le diagnostic ou la preuve de livraison, moyenne si elle retarde une investigation mais reste récupérable, faible si une reconstruction documentée suffit. Ce score de priorité est un outil de tri interne, pas une norme de conservation. Une archive publiée et son dSYM devraient être traités comme un ensemble à forte priorité ; un cache dont la reconstruction a été testée peut relever d’une priorité plus faible.

Archives et dSYM : préserver la correspondance, pas seulement les fichiers

Quelle durée prévoir pour une archive Xcode et son dSYM ?

Il n’existe pas de durée universelle qui convienne à toutes les entreprises. Conservez l’archive et le dSYM associés tant que vous devez pouvoir diagnostiquer les incidents affectant la version distribuée ou produire les éléments demandés par vos procédures de publication et d’audit. La limite doit venir de votre politique de diagnostic, de vos engagements contractuels et de votre gouvernance des données, non d’une valeur présentée comme valable pour tous.

Le lien entre les fichiers compte autant que leur présence. Un dossier contenant des archives anonymes et des dSYM sans identifiant vérifiable ne garantit pas que l’équipe pourra analyser un crash. Pour chaque version publiée, associez au minimum les informations qui permettent de retrouver le bon ensemble :

N’utilisez pas le seul nom de branche ou de commit comme preuve de correspondance. Deux exécutions issues d’un code source identique ne garantissent pas à elles seules que les symboles et le binaire conservés sont ceux de la version distribuée. Au moment de l’archivage, générez un manifeste ou un enregistrement de livraison qui relie les identifiants utiles et indique les emplacements des fichiers. Gardez cet enregistrement avec les artefacts, ou dans un système de suivi auquel les équipes concernées ont accès.

Peut-on encore symboliser un crash après la suppression de l’archive ?

La conservation du dSYM correspondant peut permettre de symboliser un rapport de crash, mais supprimer l’archive retire une partie importante du contexte de publication. Apple explique le rôle des symboles pour interpréter les rapports de crash ; cela ne rend pas pour autant un dSYM isolé équivalent à l’ensemble des éléments de livraison (documentation de symbolisation). Si l’archive est perdue, vous pouvez donc vous retrouver avec des symboles sans moyen suffisamment fiable de reconstituer ou de vérifier le build livré.

La règle la plus robuste consiste à conserver archive et dSYM dans un même dossier logique, même s’ils sont stockés sur un support distinct de celui du nœud de compilation. Si votre organisation décide de supprimer l’archive après une période définie, consignez cette décision, les éléments conservés en remplacement et la justification opérationnelle. Ne supposez pas que le dépôt de code, un build relançable ou une copie locale permettra de recréer exactement l’archive distribuée.

Avant d’appliquer une suppression automatique, choisissez une version déjà publiée et vérifiez que vous pouvez retrouver ensemble son archive, ses symboles, son binaire de livraison et l’enregistrement qui les relie. Une règle qui n’a jamais été testée ne constitue pas encore un processus de récupération démontré.

Journaux, rapports et caches : des règles distinctes par usage

Les journaux et rapports doivent-ils expirer comme les caches ?

Non : les besoins diffèrent. Les journaux et rapports servent à expliquer une exécution passée ; un cache sert principalement à préparer ou accélérer une exécution future. Un rapport associé à un échec en cours d’investigation peut être nécessaire même si un rapport plus ancien n’a plus d’utilité opérationnelle. À l’inverse, conserver indéfiniment tous les journaux peut compliquer les recherches, élargir l’accès à des données techniques et accroître le coût de stockage.

Fixez une politique à partir de questions concrètes :

La documentation officielle d’une plateforme CI peut prévoir plusieurs niveaux de réglage. Pour les journaux et artefacts, les paramètres peuvent concerner l’organisation ; la durée d’un artefact individuel peut également être définie lors de son dépôt. Vérifiez les règles effectivement applicables à votre dépôt et à votre compte avant de les adopter (paramètres de conservation au niveau de l’organisation et paramètres des artefacts de workflow). Ces fonctions propres à une plateforme ne définissent pas une durée de conservation universelle pour votre entreprise.

Des fonctions analogues ont leurs propres conditions sur d’autres plateformes : la documentation de l’une d’elles décrit l’expiration des artefacts et le traitement particulier des artefacts de la dernière exécution réussie (règles d’expiration des artefacts). Une autre distingue notamment la conservation des exécutions de pipeline et des données de test (règles de conservation des pipelines). Si votre organisation utilise l’une de ces fonctions, vérifiez son périmètre et ses exceptions dans la documentation applicable ; ne transposez pas ses valeurs par défaut aux autres dépôts ou aux archives Xcode.

Pour les caches, exigez d’abord une reconstruction vérifiée. Identifiez le répertoire, son propriétaire, les dépendances qu’il contient et la procédure permettant de le régénérer. La documentation sur les caches précise qu’ils servent à réutiliser des dépendances et qu’ils ne remplacent pas les artefacts destinés à être conservés (mécanismes de cache et de restauration). Vous pouvez alors définir un nettoyage selon l’usage observé, le coût de reconstruction et les exigences de stockage, sans fixer une échéance copiée d’une règle de publication.

Une chaîne de conservation utile à l’audit et à la reprise

Une archive enregistrée n’est utile que si les équipes savent où la trouver, peuvent y accéder et ont une méthode pour la récupérer. Reliez donc chaque classe d’artefact à un lieu de conservation, une autorité d’accès, un responsable et une méthode de vérification. Votre architecture peut utiliser un dépôt de fichiers, un stockage d’objets ou un autre système contrôlé : le choix dépend de vos outils et de vos exigences, et non d’une hypothèse selon laquelle toutes les entreprises devraient adopter le même produit.

Documentez la chaîne de transfert depuis le nœud Mac jusqu’au stockage durable. Précisez le moment où l’archive et le dSYM sont copiés, la vérification effectuée après transfert, le lien vers l’exécution CI et le comportement attendu en cas d’échec de copie. Si les fichiers sont conservés sur un espace de travail local, définissez explicitement comment ils sont récupérés avant le nettoyage ou le remplacement du nœud. Un environnement de compilation temporaire ne devrait pas constituer l’unique lieu de conservation d’une preuve de publication.

La conservation implique aussi le contrôle d’accès. Distinguez les personnes autorisées à lire, exporter, prolonger la durée et supprimer les éléments. Vérifiez si les journaux comportent des données qui doivent être masquées ou accessibles à un groupe plus restreint. Gardez une trace des suppressions planifiées et des exceptions liées à une investigation ouverte. L’objectif n’est pas de multiplier les formalités, mais de pouvoir répondre précisément à ces questions : quel build a été conservé, où, par qui, selon quelle règle et avec quelle possibilité de récupération ?

Vérifications avant d’activer le nettoyage automatique

Utilisez cette liste pour valider votre politique sur un cas réel avant de l’étendre à l’ensemble des nœuds :

Après l’exercice, attribuez un statut qualitatif à chaque point : validé, à corriger ou non applicable, avec une justification. Ce suivi rend les lacunes visibles sans transformer une politique interne en promesse de conformité générale. Répétez la vérification après une modification du pipeline, du lieu de stockage ou des règles de conservation de la plateforme.

Choisir une capacité Mac sans confondre calcul et conservation

Conserver des archives ne règle pas, à lui seul, la disponibilité des machines de build. Un nœud dédié et acheté peut convenir si vous disposez d’un site, d’une équipe chargée de l’exploitation et d’une capacité prévisible sur la durée. En contrepartie, vous devez gérer l’approvisionnement, la maintenance matérielle et les procédures de remplacement. Un environnement partagé ou hébergé évite de dépendre d’un Mac de développeur laissé accessible, mais demande de vérifier les droits, les modalités d’accès, la remise des données et la reprise après la fin de la période d’utilisation. Quel que soit le modèle, les archives importantes doivent être transférées vers un emplacement conçu pour leur conservation, et non rester uniquement sur le disque de compilation.

Si vos équipes ont besoin d’un nœud Mac supplémentaire pour les builds, le test d’une chaîne de livraison ou une montée en charge temporaire, examinez les options de nœuds Mac accessibles à distance en fonction de vos contraintes d’accès et de transfert. Une capacité distante ne remplace ni une politique d’archivage ni un dépôt durable ; elle peut en revanche éviter que le pipeline dépende d’un poste local indisponible. Si vous comparez aussi le périmètre général des environnements proposés, consultez la présentation des solutions Mac à distance.

Avant de décider, confrontez votre solution actuelle à une capacité Mac louée pour les périodes où un nœud supplémentaire est nécessaire. Le matériel acheté mobilise du budget avant même d’être sollicité, exige une organisation pour la maintenance et peut devenir une contrainte lorsque la charge varie ; un Mac de développeur utilisé comme serveur ajoute une dépendance à son poste, à son réseau et à ses plages de disponibilité. La location peut apporter un environnement distinct et modulable pour un besoin temporaire, mais elle ne convient pas forcément à une charge permanente prévisible, à des exigences d’accès physique ou à une politique imposant un contrôle matériel sur site. Dans tous les cas, gardez la décision de conservation indépendante du choix du nœud : archive, dSYM, preuves de livraison et procédure de récupération doivent rester accessibles même lorsque la machine CI change.