在Linux上使用Windows上的node_modules Jenkins CI ...好还是坏?

时间:2017-10-09 14:40:54

标签: node.js angular jenkins karma-runner

我们有一个Angular 4项目,其中包含典型的本地node_module(angular-cli,rxjs,karma,jasmine,phantomjs-prebuilt等)。开发机器在Windows上运行。我们想在Jenkins CI上运行应用程序的测试,安装在Ubuntu 16.0.4 LTS上。

是否有“最佳实践”如何处理node_modules?

  • 将node_modules添加到GIT存储库是好还是坏?
  • 不是某些包依赖于平台,即。从Windows机器提交的软件包在Ubuntu上是没用的(我正在考虑特别是PhantomJS-prebuilt)
  • 如果我们需要在CI服务器上安装所有必需的npm软件包,那么这些软件包是否需要全局安装?

到目前为止,我已经看到很多“使用Jenkins with Karma”博客文章,但他们都在本地开发机器上运行Jenkins。那里帮助不大。

由于 西蒙

1 个答案:

答案 0 :(得分:1)

在许多公司中,开发人员在Windows中编码并且Jenkins在Unix中构建是正常的,这不是问题。

将node_modules文件夹上传到您的git存储库并不是一个好习惯。最佳做法是将工件上传到工件存储库(Nexus,Jfrog Artifactory ...)并在包中写入这些依赖项。 JSON。

当您在Jenkins中构建npm安装时,将从您的工件存储库(Nexus,Jfrog Artifactory ...)下载这些工件。此外,当您部署工件时,这些工件将部署到您的Nexus或Artifactory。