在Linux上使用node_modules在Linux上Jenkins CI好或坏?

我们有一个带有典型的本地node_module(angular-cli,rxjs,karma,jasmine,phantomjs-prebuilt等)的Angular 4项目。 开发机器在Windows上运行。 我们想要在Jenkins CI上运行testing,安装在Ubuntu 16.0.4 LTS上。

有没有一个“最佳做法”如何处理node_modules?

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

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

感谢Simon

在很多公司中,编写windows和Jenkins的开发人员都是用Unix编写的,这并不是问题。

将node_modules文件夹上传到您的git存储库并不是一个好习惯。最好的做法是将您的构件上传到工件存储库(Nexus,Jfrog Artifactory …),并将这些依赖关系写入您的package.json中。

当您在Jenkins中构buildnpm install时,将从您的工件存储库(Nexus,Jfrog Artifactory …)下载这些工件。 此外,当您部署工件时,这些工件将被部署到您的Nexus或Artifactory。

Interesting Posts