La seule façon que j'ai trouvé jusqu'ici, est de créer un autre projet dans le fichier ccnet.config qui repose sur la sortie du premier ... voici ce que je veux dire.
Le premier projet construit comme normal chaque fois qu'un chèques-développeur dans le code.
Le deuxième projet ne s'exécute qu'après une durée spécifiée (par exemple 23 heures) et ne fonctionnera que si le premier projet montre une construction réussie. Par conséquent, j'utilise le deuxième projet pour faire les tests d'interface utilisateur dans Selenium au milieu de la nuit, sans les faire fonctionner pendant la journée et occuper la machine de construction quand les développeurs en ont besoin.
Voici ce que je vous ai fait faire ceci: Dans mon CCNet.fichier de configuration, mon deuxième projet a ce que ses réglages de:
<triggers>
<multiTrigger operator="And">
<triggers>
<projectTrigger project="NameOfProject1" />
<scheduleTrigger time="23:00" buildCondition="ForceBuild">
<weekDays>
<weekDay>Monday</weekDay>
<weekDay>Tuesday</weekDay>
<weekDay>Wednesday</weekDay>
<weekDay>Thursday</weekDay>
<weekDay>Friday</weekDay>
<weekDay>Saturday</weekDay>
</weekDays>
</scheduleTrigger>
</triggers>
</multiTrigger>
</triggers>
En outre, ma section de contrôle de code source a ceci:
<sourcecontrol type="multi">
<sourceControls>
<svn>
<trunkUrl>http://<my-svn-url>:81/svn/<my-project-name>/branches/1.13</trunkUrl>
<workingDirectory>c:\ccnet\<my-system-name>\<my-project-name></workingDirectory>
<cleanCopy>false</cleanCopy>
</svn>
... ...
par ces choses le est mis à false, afin que le projet ne supprime pas le code, mais utilise ce qui existe déjà. Puis, dans ma tâche, un peu plus bas, je passe un drapeau à NAnt pour lui dire de ne lancer que les tests de l'interface utilisateur pour mes projets, car le premier projet dans le fichier ccnet.config a déjà exécuté la construction traiter à travers, mais ignore les tests d'interface utilisateur.
Est-ce que cela aide du tout? Je peux développer plus loin si c'est le genre de direction que vous voulez aller.
Pourquoi voulez-vous enregistrer les binaires qui sont construits? Il semble que votre construction ne soit pas répétable. Si la construction est répétable, vous pouvez extraire une balise et exécuter le script de construction pour produire les binaires. – mcdon