2009-08-13 6 views
2

Sur ma machine de développement I installé VSeWSS 1.3 et configuré l'IIS local 6 afin que je puisse construire mon projet SharePoint et déployer le généré fichier WSP à la section locale machine. Le fichier WSP est généré par l'étape Packaging, que je peux installer avec succès sur d'autres machines.Création d'un fichier WSP sur la machine de construction

Maintenant, je dois migrer mon projet vers notre machine de construction qui n'a pas installé SharePoint et n'est pas configuré pour VSeWSS (pas de point de terminaison de service Web VSeWSS). Existe-t-il un moyen d'automatiser la construction du fichier WSP sans avoir besoin de configurer IIS sur la machine de construction pour l'utiliser avec SharePoint et VSeWSS?

Certains des livres décrivent la étape manuelle d'utiliser MakeCab.exe et définir un fichier DDF, mais je ne vois aucun fichier DDF généré par VSeWSS (est-il peut-être généré dans une TEMP dossier que je pourrais utiliser pour configurer mon processus de construction automatisé?).

+0

Il ressemble le contenu du dossier pkg qui est généré par l'étape de construction pourrait être utile lors de la construction d'un fichier DDF à la main. –

Répondre

5

Je viens de faire face au même problème. J'ai opté pour un autre outil pour développer la solution complète: j'ai trouvé WSPBuilder beaucoup plus propre et moins intrusif. Il peut également être utilisé à partir de la ligne de commande, ce qui est idéal pour les fichiers de construction.

J'ai modifié certains scripts Nant créés par Bil Simser afin de compiler et de déployer le projet et de déplacer le code de VSeWSS vers WSPBuilder. Cela fonctionne comme un charme sur ma machine ou sur la machine de construction.

Vous pouvez trouver WSPBuilder sur http://www.Codeplex.com, et ces cibles ont besoin de nantContrib (sur www.tigris.org) pour fonctionner.

Voici quelques-uns des objectifs que je utilise:

<target name="build" depends="compile"> 
    <copy todir="${build.dir}\12\"> 
    <fileset basedir="${sharepoint.dir}\12"> 
     <include name="**/*"/> 
    </fileset> 
    </copy> 
    <copy 
    file="${sharepoint.dir}\solutionid.txt" 
    tofile="${build.dir}\solutionid.txt" 
    /> 
    <call target="buildsolutionfile" /> 
</target> 



<target name="buildsolutionfile"> 
    <exec program="${wspbuilder.exe}" workingdir="${build.dir}"> 

     <arg value="-BuildDDF"/> 
     <arg value="${debug}"/> 

     <arg value="-Cleanup"/> 
     <arg value="false"/> 

     <arg value="-FolderDestination"/> 
     <arg value="${build.dir}"/> 

     <arg value="-Outputpath"/> 
     <arg value="${build.dir}"/> 

     <arg value="-TraceLevel"/> 
     <arg value="verbose"/> 
    </exec> 
    <copy 
     file="${build.dir}\${package.file}" 
     tofile="${solution.dir}\${package.file}"/> 
    </target> 



<target name="addsolution"> 
    <exec program="${stsadm.exe}" verbose="${verbose}"> 
     <arg value="-o" /> 
     <arg value="addsolution" /> 
     <arg value="-filename" /> 
     <arg value="${solution.dir}\${package.file}" /> 
    </exec> 
    <call target="spwait" /> 
    </target> 

    <target name="spwait" description="Waits for the timer job to complete."> 
    <exec program="${stsadm.exe}" verbose="${verbose}"> 
     <arg value="-o" /> 
     <arg value="execadmsvcjobs" /> 
    </exec> 
    </target> 
    <target name="app.pool.reset" description="Resets Sharepoint's application pool."> 
    <iisapppool action="Restart" pool="${apppool}" server="${server}" /> 
    </target> 
    <target name="deploysolution" depends="addsolution"> 
    <exec program="${stsadm.exe}" workingdir="${build.dir}" verbose="${verbose}"> 
     <arg value="-o" /> 
     <arg value="deploysolution" /> 
     <arg value="-name" /> 
     <arg value="${package.file}" /> 
     <arg value="-immediate" /> 
     <arg value="-allowgacdeployment" /> 
     <arg value="-allcontenturls" /> 
     <arg value="-force" /> 
    </exec> 
    <call target="spwait" /> 
    <call target="app.pool.reset" /> 

    </target> 
+2

WSP Builder est rapide, propre et Rocks – Kusek

+1

+ 1 excellent exemple d'un fichier cible! – Colin

Questions connexes