2016-06-17 46 views
5

Sto configurando un processo di compilazione automatizzata AutoCI -> Jenkins -> Octopus. Io uso un pacchetto chiamato octopackjs & sorso-Octo mettere in valigia il mio progetto node.js su in un file .tar in questo modo:Perché il mio file .tar produce centinaia di file PaxHeader?

return gulp.src(['**/*', '!gulpfile.js']) 
     .pipe(octo.pack("tar.gz")) 
     .pipe(octo.push({apiKey: 'API-SUPERCOOLKEY', host: 'https://octopus.supercooldomain.net', replace: true})); 

Sono in grado di confezionare in su, e si è spinto nel posto giusto in il server Octopus. Tuttavia, quando esamino i contenuti di quel file .tar, è inquinato da centinaia di file chiamati "PaxHeader". Da alcuni guardandosi intorno, quel file ha lo scopo di contenere i metadati per il pacchetto .tar. Quando Octopus tenta di estrarre il file al mio ambiente di destinazione, si getta con la seguente traccia di errore:

System.IO.IOException: Cannot create /home/opsteam/.octopus/Applications/OctopusServer/Dev.Corporate/webapp/2.0.10/PaxHeader because a file with the same name already exists. 
09:46:34Error 
    at System.IO.Directory.CreateDirectory (System.String path) <0x7fdc9e79db50 + 0x00167> in <filename unknown>:0 
09:46:34Error 
    at SharpCompress.Reader.IReaderExtensions.WriteEntryToDirectory (IReader reader, System.String destinationDirectory, ExtractOptions options) <0x4033e800 + 0x00260> in <filename unknown>:0 
09:46:34Error 
    at Calamari.Integration.Packages.TarPackageExtractor.Extract (System.String packageFile, System.String directory, Boolean suppressNestedScriptWarning) <0x4033b4f0 + 0x000f3> in <filename unknown>:0 
09:46:34Error 
    at Calamari.Integration.Packages.GenericPackageExtractor.Extract (System.String packageFile, System.String directory, Boolean suppressNestedScriptWarning) <0x4033b4a0 + 0x0003b> in <filename unknown>:0 
09:46:34Error 
    at Calamari.Deployment.Conventions.ExtractPackageConvention.Install (Calamari.Deployment.RunningDeployment deployment) <0x40335ac0 + 0x000bb> in <filename unknown>:0 
09:46:34Error 
    at Calamari.Deployment.ConventionProcessor.RunInstallConventions() <0x4030aaa0 + 0x00065> in <filename unknown>:0 
09:46:34Error 
    at Calamari.Deployment.ConventionProcessor.RunConventions() <0x4030a940 + 0x0001f> in <filename unknown>:0 

Che cosa sta succedendo? Perché il mio file .tar ha questi artefatti?

edit: Il contenuto di questi file PaxHeader, quando ha aperto come testo, va da contenuti package.json per i moduli del progetto, per informazioni sulla licenza casuali, alle directory, liste di stringhe, ecc ...

risposta

0

Lo stesso problema e quello che mi ha risolto era l'aggiornamento di npm alla versione più recente (3.10.7 al momento) come suggerito in uno dei post finali sotto http://help.octopusdeploy.com/discussions/problems/46332-deploy-to-linux-centos7-deploy-failing.

Non so se sei o Windows ma ho usato npm-windows-upgrade come suggerito in questo post SO: How do I update node and npm on windows?.

Quindi ha scaricato tutti i node_modules e ha effettuato l'installazione di npm sul progetto. L'archivio dei risultati non solo ora non include i file duplicati di PaxHeader, ma ha anche richiesto più tempo per essere generato.