2008-11-06 7 views
2

J'utilise CruiseControl.NET pour créer automatiquement mes applications web .NET 3.5, ce qui fonctionne bien. Cependant, est-il possible de créer automatiquement un fichier ZIP de ces versions et de placer les fichiers ZIP dans un répertoire séparé?Comment créer un fichier ZIP de mes builds Cruise Control?

J'ai vu que cela est possible en utilisant NAnt mais ne peut pas trouver un exemple de la façon d'obtenir ce travail.

Quelqu'un peut-il offrir de l'aide/des exemples?

Répondre

1

Si vous utilisez Nant, alors ne pas le travail Zip task pour vous?

0

Nous Zipping les sources d'un projet CruiseControl.NET

mais nous utilisons fourmi

<target name="zipProject"> 
    <mkdir dir="output"/> 
    <zip destfile="output\sources.zip" basedir="C:\project\src" /> 
</target> 

je ne sais pas, mais je Nant pense qu'elle doit être similaire

0

@David: La tâche NAnt Zip est ce que je suis après, oui, mais je demande comment l'intégrer dans le cadre d'une construction automatique de CruiseControl.NET. Si vous jetez un oeil à l'NAnt documentation for the cruise control config il ne dit pas clairement si je peux exécuter une tâche NAnt à l'intérieur du noeud XML <tasks> dans ma config CruiseControl - il dit seulement qu'il peut faire partie d'un <schedule>.

J'ai trouvé quelques exemples de configuration de votre configuration CruiseControl et quelques exemples de tâches NAnt mais rien qui les intègre: en particulier, compresser une version de CruiseControl.

Si quelqu'un a un certain XML exemple de leur configuration CruiseControl, accrochage à une tâche zip NAnt, des échantillons post ici.

Cheers.

+0

Oups il a dépouillé mon exemple de nœud XML, devrait dire ceci: "... à partir de l'intérieur du nœud XML < tasks > dans ma configuration CruiseControl - il dit seulement qu'il peut faire partie d'un < schedule > ..." –

+0

Le lien vous vouloir pour la documentation de tâche NAnt est: http://confluence.public.thoughtworks.org/display/CCNET/NAnt+Task – Pedro

2

Je viens d'ajouter une telle tâche Nant à notre machine CC.

Voir http://nant.sourceforge.net/release/latest/help/tasks/zip.html

Remarque lors de l'affichage d'abord l'archive zip, il peut apparaître comme si tous les fichiers sont au même niveau, i.e. aucun dossier, mais en réalité ils les dossiers sont conservés.

Remarquez comment vous pouvez exclure certains types de fichiers ou des dossiers.

Vous pouvez prendre l'approche d'inclure seulement les types de fichiers que vous voulez et à l'exclusion du reste.

Définissez d'abord les propriétés pour lesquelles les fichiers source sont allcode.dir et le nom et l'emplacement du fichier sourcebackup zip.zip

Maintenant, voici la tâche de Nant

<zip zipfile="${sourcebackup.zip}" includeemptydirs="true" verbose="true"> 
<fileset basedir="${allcode.dir}"> 
     <include name="**/*" /> 
     <exclude name="**/_resharper*/**" /> 
     <exclude name="**/build/**" /> 
     <exclude name="**/obj/**" /> 
     <exclude name="**/bin/**" /> 
     <exclude name="**/*.dll" /> 
     <exclude name="**/*.scc" /> 
     <exclude name="**/*.log" /> 
     <exclude name="**/*.vssscc" /> 
     <exclude name="**/*.suo" /> 
     <exclude name="**/*.user" /> 
     <exclude name="**/*.pdb" /> 
     <exclude name="**/*.cache" /> 
     <exclude name="**/*.vspscc" /> 
     <exclude name="**/*.msi" /> 
     <exclude name="**/*.irs" /> 
     <exclude name="**/*.exe" /> 
</fileset> 

<echo message="########## Zipped##########" /> 

Appelez cela à partir de votre construction cc comme toute autre tâche nant. Nous trouvons le mieux si chaque projet CC appelle une seule tâche si possible, alors vous n'avez qu'à changer le script nant, et vous pouvez exécuter le script nant sur votre machine locale.

Par exemple, dans le bloc de projet, nous avons la cible unique « build », qui dans le cadre de ses travaux appelle ZipSource

<targetList> 
      <target>Build</target> 
     </targetList> 

Nous utilisons ci-dessus pour un projet BizTalk.

Profitez-en.

Questions connexes