Domanda

Sto schierando i miei pacchetti usando TeamCity e Octopus.Sto creando pacchetti utilizzando TeamCity e quindi usando il polpo per distribuire in diversi ambienti.Ho una cartella delle risorse che deve essere copiata come un passo separato in TeamCity.Ora voglio che quella cartella sia inclusa nel pacchetto in modo da poter implementare quel pacchetto su server remoti su altri domini.Ho definito il seguente file per includere la cartella delle risorse nella cartella del contenuto del progetto principale.Ma cosa sta succedendo è solo creare una cartella nella destinazione ma non copiare altri file con nel progetto.Si prega di guidare poiché tutto ciò che voglio è includere la cartella delle risorse con il pacchetto insieme ai miei file di siti Web di pubblicazione.Voglio solo che la cartella delle risorse sia parte del pacchetto.Si prega di guidare

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

Contenuto della confezione dopo aver creato un pacchetto utilizzando il codice sopra: -

 . _rels
 . package
 . content\resources 
 . [content_type
 . Services.nuspec
.

È stato utile?

Soluzione

Se stai usando Octopack , questo comportamento è previsto. Per citare il documentazione su github :

.

Se esiste la sezione <files>, Octopopack non tenterà di aggiungere automaticamente file extra al pacchetto, quindi dovrai esplicitare su quali file che si desidera includere.

Se si va su questa rotta, è necessario specificare tutti gli altri file che desideri includere all'interno della sezione <files> di NUSPEC.

Se non si utilizza Octopack , si applica una regola simile. Vedi Documentazione su Nuget.org

.

Se si seguono le convenzioni descritte nella creazione di un pacchetto, non è necessario specificare esplicitamente un elenco di file nel file .nUsUC. Si noti che se si specificano qualsiasi file, le convenzioni vengono ignorate e solo i file elencati nel file .nUsUC sono inclusi nel pacchetto.

Aggiornamento

Un metodo ibrido che ho visto utilizzato è quello di utilizzare il bersaglio di MSBuild Publish per creare e pubblicare il sito Web in una cartella locale, (per filtrare tutti i file di tempo di compilazione come .cs sorgente), rilascia nei file aggiuntivi, E quindi includere semplicemente un <file src="**/*.*" /> per imballare tutto sotto la cartella Publish root. Richiede un po 'di personalizzazione con percorsi di root / Nuget.exe, ma potrebbe rendere il processo di un po' nervoso e leggermente meno manutenzione.

Informazioni utili qui che può Aiuta a iniziare.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top