Question

J'ai enfin la configuration de TeamCity à construire sur les changements de contrôle Source, et une configuration de la tâche MSBuild séparée pour empaqueter et déployer à IIS sur le serveur de mise en scène en utilisant la cible « paquet » et le script généré « deploy.cmd ». Tout est parfait en termes d'événements de construction, d'inclusion / exclusion fichier, etc ...

Cependant, je suis tombé sur un problème avec la façon dont le paquet est en cours de déploiement. Chaque fois que je Déployez le package sur le serveur, les paramètres IIS se volatiliser. Par exemple, je peux définir les en-têtes d'expiration du cache ou activer la compression statique, et après mon paquet que je déploie ils vont revenir aux valeurs par défaut du serveur.

Quelqu'un sait comment je peux contourner ce problème? Y at-il un paramètre que je peux passer ou de la règle que je peux ignorer?

Était-ce utile?

La solution

Je pense que ce que vous utilisez en est différent de ce que vous pourriez penser.

Dans IIS 7 lorsque vous définissez les valeurs des propriétés comme vous décrivez la configuration qui est stockée dans le web.config pour l'application, et non applicationHost.config. Par exemple, je viens de créer un site et modifié ces paramètres, puis dans mon fichier web.config le fragment suivant a été abandonné dans.

<system.webServer>
<validation validateIntegratedModeConfiguration="false" />
<modules runAllManagedModulesForAllRequests="true" />
    <urlCompression doStaticCompression="false" />
    <caching>
        <profiles>
            <add extension=".aspx" policy="CacheUntilChange" kernelCachePolicy="DontCache" />
        </profiles>
    </caching>
</system.webServer>

Alors qu'est-ce qui se passe lorsque vous effectuez une synchronisation web.config dans votre package est le web.config qui en écrasant a les propriétés modifiées en elle. Ce que vous devez faire pour configurer votre application dans IIS 7 que vous le souhaitez, puis saisissez le nœud de la place dans votre fichier web.config. Alternativement, si vous voulez, vous pouvez le placer dans les deux web.debug.config ou web.release.config si vous voulez avoir seulement dans votre web.config lors de la publication.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top