Question

Je déploie mes packages en utilisant teamcity et octopus.Je crée des packages à l'aide de teamcity, puis j'utilise Octopus pour les déployer dans différents environnements.J'ai un dossier Ressources qui doit être copié dans le cadre d'une étape distincte dans teamcity.Maintenant, je souhaite que ce dossier soit inclus dans le package afin de pouvoir ensuite déployer ce package sur des serveurs distants sur d'autres domaines.J'ai défini le fichier suivant pour inclure le dossier de ressources dans le dossier de contenu du projet principal.mais ce qui se passe, c'est qu'il suffit de créer un dossier dans la destination mais de ne pas copier les autres fichiers du projet.Veuillez vous guider car tout ce que je veux, c'est inclure le dossier de ressources dans le package avec les fichiers de mon site Web de publication.Je veux juste que le dossier de ressources fasse partie du package.Veuillez guider

 <?xml version="1.0" ?>
<package xmlns="http://schemas.microsoft.com/packaging/2010/07/nuspec.xsd">
 <metadata>
<id>Services</id>
<version>1.0.0.0</version>
<authors></authors>
<owners></owners>
<requireLicenseAcceptance>false</requireLicenseAcceptance>
<description>Services.nuspec build package</description>
<releaseNotes />
 </metadata>
 <files>
  <file src="..\Resources\**\*.*" target="Content\Resources" />
</files>
</package>

Contenu du package après avoir créé un package à l'aide du code ci-dessus : -

 . _rels
 . package
 . content\resources 
 . [content_type
 . Services.nuspec
Était-ce utile?

La solution

Si vous utilisez OctoPack, ce comportement est attendu.Pour citer le documentation sur GitHub:

Si la <files> existe, OctoPack ne tentera pas d'ajouter automatiquement des fichiers supplémentaires à votre package, vous devrez donc être explicite sur les fichiers que vous souhaitez inclure.

Si vous suivez cette voie, vous devrez spécifier tous les autres fichiers que vous souhaitez inclure dans le <files> section du nuspec.

Si vous n'utilisez pas OctoPack, une règle similaire s'applique.Voir documentation sur nuget.org

Si vous suivez les conventions décrites dans Création d'un package, vous n'avez pas besoin de spécifier explicitement une liste de fichiers dans le fichier .nuspec.Notez que si vous spécifiez des fichiers, les conventions sont ignorées et seuls les fichiers répertoriés dans le fichier .nuspec sont inclus dans le package.

Mise à jour

Une méthode hybride que j'ai vue utilisée consiste à utiliser la cible MSBuild Publish pour créer et publier le site Web dans un dossier local (pour filtrer tous les fichiers de compilation comme la source .cs), déposer les fichiers supplémentaires, puis simplement inclure un <file src="**/*.*" /> pour tout emballer sous le dossier de publication racine.Nécessite un peu de personnalisation avec les chemins racine / nuget.exe, mais cela peut rendre le processus un peu plus soigné et un peu moins de maintenance.

Informations utiles ici cela peut vous aider à démarrer.

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