2017-10-09 125 views
2

我们有一个带有典型本地node_module(angular-cli,rxjs,karma,jasmine,phantomjs-prebuilt等)的Angular 4项目。开发机器在Windows上运行。我们想要在Jenkins CI上运行测试,安装在Ubuntu 16.0.4 LTS上。从Linux上使用node_modules在Linux上Jenkins CI好或坏?

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

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

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

感谢 西蒙

回答

1

这是一个在很多开发人员在Windows编码和詹金斯建立在Unix的企业正常的,这不是一个问题。

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

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

+1

使用git-ignoring/node_modules /,并在Jenkins中使用npm install来获取所需的软件包。感谢@trisquel。 – Simon