12
votes

Quel système de construction automatisé Les développeurs MAC utilisent-ils?

Mon équipe utilise actuellement Buildbot pour automatiser la nuit et les tests de régression de l'intégration continue. Pour les constructions et les tests unitaires, le constructeur invoque simplement un script qui synchronise les sources de P4, puis exécute xcodebuild . Les tests de régression sont également lancés par un script shell et sont eux-mêmes des combinaisons de scripts de shell et de compenstins. Les constructions sont toutes effectuées sur un système, mais les tests de déclenchement de Buildbot se produisent sur plusieurs MAC, avec différentes combinaisons d'architecture et de système d'exploitation. Les choses que j'aime à propos de BuildBot sont les déclencheurs automatiques (les tests fonctionnent donc uniquement si et lorsque la construction réussit) et le rapport, y compris la vue en cascade pour voir le statut global.

Cependant, je vois aussi un certain nombre de problèmes. Le processus "Master" qui coordonne les constructions est soit une fuite une énorme jeu de travail, ce qui signifie qu'il consomme quelques gigaoctets de mémoire. Occasionnellement des problèmes de réseau signifie qu'un esclave sera perdu; Plutôt que de réessayer plus tard, cela échouera simplement la construction. En fait, si l'esclave est censé être déclenché pour une construction dépendante, elle échouera la première version après avoir terminé avec succès.

Alors, quels sont les autres utilisateurs d'utiliser pour automatiser vos constructions Xcode et vos tests unitaires? Comment ces solutions fonctionnent-elles pour vous? Tout ce que vous recommanderiez?


2 commentaires

Pourrait valoir la peine de faire ce wiki communautaire comme ses opinions


Ne le pensez pas, je demande des comparaisons techniques de diverses solutions, ce n'est pas quel que soit votre favori.


6 Réponses :


4
votes

Notre équipe utilise Hudson avec un script qui convertit la sortie de test de l'unité de Xcode en format Nunit.


0 commentaires

5
votes

J'utilise TeamCity dans un environnement Windows mais je crois que cela fonctionnera sur Mac et comporte des agents de construction Xcode.

Une autre question similaire ici .


0 commentaires

1
votes

Nous avons élaboré ce qui utilisait toutes les fichiers de mémoire-journalisation - Buildbot plus ancien conserve toutes les journaux pour toujours et les maintient en mémoire (éventuellement jusqu'à un redémarrage).

Newer Buildbot peut être configuré pour conserver une quantité fixe d'historique.

Les fichiers de journal de construction Buildbot doivent être de taille limitée pour éviter le problème.


1 commentaires

C'est bon :-) Je pense que la mémoire sucer était le problème principal, la disponibilité des esclaves est gênante mais peut être résolue en ayant un réseau décent.



1
votes

J'utilise le xcodebuilder Cela fait partie de Cruisecontrol . Bien sûr, cela aide que je l'ai écrit. :)

Mais je l'ai utilisé sur un véritable projet multiple pour une application iPhone ( surf ) qui est pour Vente dans l'App Store.


0 commentaires

2
votes

Je sais que c'est une question plus ancienne, mais pour ceux qui utilisent TFS pour contenir leurs projets Xcode, j'ai créé une activité de construction personnalisée pour automatiser les constructions Xcode via TFS. Le code est hébergé sur CodePlex ici: http://tfsxcodebuild.codeplex.com/ .

J'espère que quelqu'un le trouve utile!


0 commentaires

0
votes

Maintenant que c'est trois ans plus tard, j'ai ma propre réponse à fournir à cette question. J'utilise Jenkins , principalement pour les plug-ins qu'il fournit. Il dispose d'un plug-in pour la construction de cibles dans des projets Xcode (ou des schémas dans les espaces de travail). Il y a un plug-in pour exécuter le analyseur statique de clang . Il interface avec mon système de bug-tracker, il poussera automatiquement les constructions à la mode de test.


0 commentaires