2016-06-17 2 views
5

Я создаю AutoCI -> Jenkins -> Автоматический процесс сборки Octopus. Я использую пакет под названием octopackjs & Глоток-Octo упаковать мой проект Node.js вверх в .tar файл, например так:Почему мой .tar-файл создает сотни файлов PaxHeader?

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

Я могу упаковать его вверх, и она выталкивается в нужном месте в сервер Octopus. Однако, когда я просматриваю содержимое этого файла .tar, он загрязняется сотнями файлов под названием «PaxHeader». Из некоторого взгляда вокруг этот файл должен содержать метаданные для пакета .tar. Когда осьминог пытается извлечь этот файл в моей целевой среде, он выбрасывает со следующим следом ошибки:

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 

Что происходит? Почему у моего .tar-файла есть эти артефакты?

редактировать: Содержание этого PaxHeader файлы, при открытии в виде текста, колеблется от содержания package.json для модулей в проекте, случайную информацию лицензирования, в каталоги, списки строк, и т.д. ...

ответ

0

Если бы одна и та же проблема была решена для меня, я обновлял npm до последней версии (3.10.7 на момент), как было предложено в одном из окончательных сообщений под номером http://help.octopusdeploy.com/discussions/problems/46332-deploy-to-linux-centos7-deploy-failing.

Не уверен, что вы или Windows, но я использовал обновление npm-windows, как предлагалось в этом сообщении SO: How do I update node and npm on windows?.

Затем очистили все узлы_модулей и выполнили новую версию npm в проекте. Архив результатов не только теперь не включает дублированные файлы PaxHeader, но также ускоряется генерация.

Смежные вопросы