Toolchain
Installez uniquement les composants nécessaires au projet
Vérifiez les versions requises de macOS, Xcode, des outils en ligne de commande, du runtime et des gestionnaires de paquets. Installez d’abord le minimum, puis ajoutez les outils de débogage et d’analyse une fois le build de test validé.
Accès au dépôt
Récupérez le code avec des identifiants à privilèges minimaux
Configurez un accès restreint au dépôt et vérifiez que son périmètre en lecture ou en écriture correspond à la tâche. Les fichiers de clés ne doivent entrer ni dans le dépôt, ni dans les artefacts de build, ni dans un répertoire de journaux accessible publiquement.
Éléments de signature
Isolez les chemins d’importation, d’utilisation et de sauvegarde
Importez uniquement les éléments de signature nécessaires au build en cours, limitez les droits d’accès et documentez le responsable ainsi que le processus de rotation. Lors de la production des journaux, masquez toute donnée sensible autre que l’empreinte du certificat.
Stratégie de cache
Séparez dépendances, données dérivées et archives
Utilisez des répertoires distincts pour le cache des dépendances, les données dérivées, les builds temporaires et les archives finales. Définissez un seuil de capacité et un ordre de nettoyage afin d’éviter que les scripts ne suppriment des artefacts encore nécessaires.
bootstrap / validation
mkdir -p "$HOME/workspace"
mkdir -p "$HOME/build-cache"
mkdir -p "$HOME/build-artifacts"
git clone "$REPOSITORY_URL" "$HOME/workspace/project"
cd "$HOME/workspace/project"
xcodebuild -version
sw_vers
df -h "$HOME"
xcodebuild \
-workspace "$WORKSPACE_NAME" \
-scheme "$SCHEME_NAME" \
-configuration Debug \
-derivedDataPath "$HOME/build-cache/DerivedData" \
build | tee "$HOME/build-artifacts/test-build.log"
Informations d’environnement enregistrées
JOURNAL ENREGISTRÉ