est-il possible de faire exécuter par nant un projet de publication sur le Web
-
08-07-2019 - |
Question
est-il possible de faire exécuter par nant un projet de publication sur mvc ou un bon vieux projet d'application Web
et après la publication, make nant FTP les fichiers sur le serveur Web
UPDATE: a trouvé la solution au problème de ftp
La tâche ftp de Nant Merci à Paco
ce que je veux dire par publication
Existe-t-il une application en ligne de commande ou une tâche nant qui peut être public, comme Visual Studio Publier ...
La solution
La commande de publication de visual studio reconstruit votre solution, puis copie les fichiers du répertoire de la solution dans un nouveau répertoire. J'utilise la cible suivante pour faire presque la même chose:
<target name="copyToPublish">
<delete dir="${dir.publish}" />
<mkdir dir="${dir.publish}" />
<mkdir dir="${dir.publish}\wwwroot"/>
<copy todir="${dir.publish}\wwwroot" includeemptydirs="false">
<fileset basedir="${website.dir}">
<exclude name="**/*.cs"/>
<exclude name="**/*.pdb"/>
<exclude name="**/*.csproj*"/>
<exclude name="**/obj/**"/>
<include name="**/*.*"/>
</fileset>
</copy>
<mkdir dir="${dir.publish}\database"/>
<copy todir="${dir.publish}\database" includeemptydirs="false">
<fileset basedir="${dir.databasescripts}">
<include name="**/*.sql" />
</fileset>
</copy>
<xmlpoke
file="${dir.publish}\wwwroot\Web.config"
xpath="/configuration/system.web/compilation/@debug"
value="false" />
<xmlpoke
file="${dir.publish}\wwwroot\Web.config"
xpath="/configuration/system.web/trace/@enabled"
value="false" />
<move file="${dir.publish}\wwwroot\Web.config" tofile="${dir.publish}\wwwroot\Release.config" overwrite="true" />
<delete file="${dir.publish}\wwwroot\Web.config" />
</target>
Avant cette cible, vous devez bien sûr exécuter la procédure de construction normale.
Autres conseils
Il existe une tâche FTP pour nant. A côté de cela, vous devez créer un script qui copie les fichiers et les répertoires dont vous avez besoin, ainsi que les fichiers de configuration. Je ne le fais pas automatiquement, car je souhaite avoir le contrôle des scripts de mise à jour de la base de données et des modifications apportées à web.config.