在 Linux Jenkins CI 上使用 Windows 中的 node_modules...好还是坏?
Using node_modules from Windows on Linux Jenkins CI...good or bad?
我们有一个 Angular 4 项目,其中包含典型的本地 node_module(angular-cli、rxjs、karma、jasmine、phantomjs-prebuilt 等)。 Windows 上的开发机器 运行。我们想 运行 在 Jenkins CI 上测试安装在 Ubuntu 16.0.4 LTS 上的应用程序。
是否有 "best practice" 如何处理 node_module 的方法?
- 将 node_module 添加到 GIT 存储库是好是坏?
- 有些包不是平台相关的吗?从 Windows 机器提交的包在 Ubuntu 上是无用的(我在考虑特别是 PhantomJS-prebuilt)
- 如果我们需要在 CI 服务器上安装所有必需的 npm 包,难道不需要全局安装吗?
到目前为止,我已经看过很多 "using Jenkins with Karma" 博客文章,但它们都是 运行 本地开发机器上的 Jenkins。没什么帮助。
谢谢
西蒙
在很多公司,开发人员在 windows 中编码,而 Jenkins 在 Unix 中构建是很正常的,这不是问题。
将 node_modules 文件夹上传到您的 git 不是一个好的做法 repository.The 最佳做法是将您的工件上传到工件存储库(Nexus、Jfrog Artifactory...)并将这些依赖项写入您的 package.json.
当您在 Jenkins 中构建 npm 安装时,将从您的工件存储库(Nexus、Jfrog Artifactory...)下载这些工件。
此外,当您部署工件时,这些工件将部署到您的 Nexus 或 Artifactory。
我们有一个 Angular 4 项目,其中包含典型的本地 node_module(angular-cli、rxjs、karma、jasmine、phantomjs-prebuilt 等)。 Windows 上的开发机器 运行。我们想 运行 在 Jenkins CI 上测试安装在 Ubuntu 16.0.4 LTS 上的应用程序。
是否有 "best practice" 如何处理 node_module 的方法?
- 将 node_module 添加到 GIT 存储库是好是坏?
- 有些包不是平台相关的吗?从 Windows 机器提交的包在 Ubuntu 上是无用的(我在考虑特别是 PhantomJS-prebuilt)
- 如果我们需要在 CI 服务器上安装所有必需的 npm 包,难道不需要全局安装吗?
到目前为止,我已经看过很多 "using Jenkins with Karma" 博客文章,但它们都是 运行 本地开发机器上的 Jenkins。没什么帮助。
谢谢 西蒙
在很多公司,开发人员在 windows 中编码,而 Jenkins 在 Unix 中构建是很正常的,这不是问题。
将 node_modules 文件夹上传到您的 git 不是一个好的做法 repository.The 最佳做法是将您的工件上传到工件存储库(Nexus、Jfrog Artifactory...)并将这些依赖项写入您的 package.json.
当您在 Jenkins 中构建 npm 安装时,将从您的工件存储库(Nexus、Jfrog Artifactory...)下载这些工件。
此外,当您部署工件时,这些工件将部署到您的 Nexus 或 Artifactory。