Pregunta

Estoy implementando mis paquetes usando teamcity y octopus.Estoy creando paquetes usando teamcity y luego usando Octopus para implementarlos en diferentes entornos.Tengo una carpeta de Recursos que debo copiar como un paso separado en teamcity.Ahora quiero que esa carpeta se incluya en el paquete para poder implementar ese paquete en servidores remotos en otros dominios.He definido el siguiente archivo para incluir la carpeta de recursos en la carpeta de contenido del proyecto principal.pero lo que sucede es que simplemente crea una carpeta en el destino pero no copia otros archivos en el proyecto.Guíeme, ya que todo lo que quiero es incluir la carpeta de recursos en el paquete junto con los archivos de mi sitio web de publicación.Solo quiero que la carpeta de recursos sea parte del paquete.por favor guie

 <?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>

Contenido del paquete después de crear un paquete usando el código anterior: -

 . _rels
 . package
 . content\resources 
 . [content_type
 . Services.nuspec
¿Fue útil?

Solución

Si estás usando OctoPack, se espera este comportamiento.Para citar el documentación en GitHub:

Si el <files> existe la sección, OctoPack no intentará agregar automáticamente ningún archivo adicional a su paquete, por lo que deberá ser explícito sobre qué archivos desea incluir.

Si sigue esta ruta, deberá especificar todos los demás archivos que desea incluir en el <files> sección del nuspec.

Si no estás usando OctoPack, se aplica una regla similar.Ver documentación en nuget.org

Si sigue las convenciones descritas en Creación de un paquete, no es necesario que especifique explícitamente una lista de archivos en el archivo .nuspec.Tenga en cuenta que si especifica algún archivo, las convenciones se ignoran y solo se incluyen en el paquete los archivos enumerados en el archivo .nuspec.

Actualizar

Un método híbrido que he visto utilizado es usar el destino de publicación de MSBuild para crear y publicar el sitio web en una carpeta local (para filtrar todos los archivos en tiempo de compilación, como el código fuente .cs), colocar los archivos adicionales y luego simplemente Incluir un <file src="**/*.*" /> para empaquetar todo en la carpeta raíz de publicación.Requiere un poco de personalización con las rutas raíz/nuget.exe, pero puede hacer que el proceso sea un poco más ordenado y requiera un poco menos de mantenimiento.

Información útil aquí eso puede ayudarle a comenzar.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top