Étape 2 · Migrer dans le bon ordre
Mac local → Mac cloud.
Procédez dans cet ordre : données, outils, CI. Commencez par migrer un projet que vous pouvez vérifier indépendamment, sans copier d’emblée tout le dossier utilisateur. Les durées indiquées sont des estimations : la taille du dépôt, le réseau et le téléchargement des dépendances peuvent modifier le temps nécessaire.
01 / Données
Commencez par le code et la signature
Clonez le dépôt Git et placez-vous sur le même commit que sur votre machine locale. Pour un dépôt privé, utilisez une clé de déploiement aux droits limités ou un jeton à durée limitée. N’inscrivez pas d’identifiants permanents dans l’URL du dépôt.
git clone <repository-url>
git rev-parse HEAD
rsync -av --progress ./Assets/ \
admin@<node-address>:~/work/Assets/
Pour signer, exportez depuis le trousseau local un fichier .p12 contenant la clé privée. Chiffrez le transfert avec un mot de passe distinct, puis importez le fichier dans le trousseau du nœud. Migrez séparément le profil de provisionnement et vérifiez l’expiration du certificat, l’équipe et la configuration cible.
Pour les ressources volumineuses, utilisez la synchronisation incrémentielle de rsync. N’ajoutez pas d’option de suppression lors du premier transfert. Vérifiez d’abord le dossier cible pour éviter d’effacer des fichiers déjà générés sur le nœud.
02 / Outils
Restaurez les versions, pas le cache
Exportez un Brewfile sur votre machine locale, transférez-le sur le nœud, puis restaurez les dépendances. Parcourez d’abord la liste et supprimez les applications de bureau inutiles ainsi que les dépendances obsolètes pour réduire le volume à télécharger.
brew bundle dump --file=Brewfile
brew bundle --file=Brewfile
xcodes list
xcodes install <version-required>
Vérifiez les versions de Xcode, Ruby et CocoaPods requises par le projet. Pour installer une version avec xcodes, respectez les conditions de licence du logiciel et les autorisations de téléchargement. Une fois l’installation terminée, exécutez xcodebuild -version pour vérifier la version effectivement sélectionnée.
Si le projet contient un Gemfile, privilégiez bundle exec pod install. SPM résout les dépendances à partir du fichier de verrouillage fourni avec le projet. Considérez la première compilation comme un préchauffage du cache, et non comme une indication de la vitesse des compilations suivantes.
03 / Configuration de la CI
Validez d’abord une compilation manuelle, puis enregistrez l’agent
Effectuez d’abord une compilation et une signature dans une session interactive. Une fois l’archive générée en ligne de commande, enregistrez le runner self-hosted de GitHub Actions ou GitLab Runner. Vous éviterez ainsi de devoir dépanner en même temps les outils et la configuration du pipeline.
bundle exec fastlane match development --readonly
bundle exec fastlane gym
Le type de signature de match et le lane utilisé dépendent de la configuration du projet. Pour la CI, utilisez des identifiants aux droits limités et stockez les clés dans des variables protégées ou un coffre de clés. N’inscrivez pas de mots de passe dans les scripts.
Attribuez un libellé distinct à l’agent temporaire et autorisez d’abord uniquement les branches de confiance. Vérifiez que le compte d’exécution peut accéder au trousseau de signature et au répertoire de travail. Assurez-vous aussi qu’une compilation non interactive ne reste pas bloquée par une boîte de dialogue.
La migration est terminée lorsque :le même commit, la même version de Xcode et les mêmes fichiers de verrouillage des dépendances permettent de générer sur le nœud une archive récupérable. Ne considérez pas la migration de l’environnement comme terminée sur la seule base d’une installation réussie des dépendances.