Maven 的节点版本管理策略
Node version managing strategy with Maven
我正在使用 NVM 来管理我的 NodeJS 版本。我正在尝试将它与 Jenkins 工作中的 Maven 集成。以下脚本在 Maven 运行之前执行。我认为没有办法将 NodeJS 安装目录作为选项参数传递给 Maven。我相信 nvm use
将 NodeJS 安装目录导出到 PATH
,但我可能错了。
#!/bin/sh -e
source /mounts/dev/jenkins/.nvm/nvm.sh
nvm alias default node
nvm use --delete-prefix v4.2.0 --silent
Maven 需要 NodeJS 的原因是 yeoman-maven-plugin
,它默认使用全局安装的 NodeJS 版本。我知道有一个适用于 Jenkins 的 NodeJS 插件可以使用,但我认为使用它不是最佳选择。
我认为可以将 NVM 集成到 Jenkins Maven 作业中,但我可能采用了错误的方式。有人对不同的 NVM 方法有任何想法吗?
我们没有尝试将 NVM 与 Maven 集成,而是决定放弃 yeoman-maven-plugin
,转而使用 frontend-maven-plugin
。 frontend-maven-plugin
允许本地 Node 和 NPM 安装,以及其他构建工具,如 Gulp 和 Grunt。唯一需要进行的更改是 pom.xml
。另外,不再需要在 Jenkins 中编写额外的脚本。
安装Node和NPM的使用示例
<plugin>
...
<execution>
<!-- optional: you don't really need execution ids,
but it looks nice in your build log. -->
<id>install node and npm</id>
<goals>
<goal>install-node-and-npm</goal>
</goals>
<!-- optional: default phase is "generate-resources" -->
<phase>generate-resources</phase>
</execution>
<configuration>
<nodeVersion>v0.10.18</nodeVersion>
<npmVersion>1.3.8</npmVersion>
<!-- optional: where to download node and npm from. Defaults to https://nodejs.org/dist/ -->
<downloadRoot>http://myproxy.example.org/nodejs/dist/</downloadRoot>
<!-- optional: where to install node and npm. Defaults to the working directory -->
<installDirectory>target</installDirectory>
</configuration>
</plugin>
可以找到有关插件的更多信息here。
我正在使用 NVM 来管理我的 NodeJS 版本。我正在尝试将它与 Jenkins 工作中的 Maven 集成。以下脚本在 Maven 运行之前执行。我认为没有办法将 NodeJS 安装目录作为选项参数传递给 Maven。我相信 nvm use
将 NodeJS 安装目录导出到 PATH
,但我可能错了。
#!/bin/sh -e
source /mounts/dev/jenkins/.nvm/nvm.sh
nvm alias default node
nvm use --delete-prefix v4.2.0 --silent
Maven 需要 NodeJS 的原因是 yeoman-maven-plugin
,它默认使用全局安装的 NodeJS 版本。我知道有一个适用于 Jenkins 的 NodeJS 插件可以使用,但我认为使用它不是最佳选择。
我认为可以将 NVM 集成到 Jenkins Maven 作业中,但我可能采用了错误的方式。有人对不同的 NVM 方法有任何想法吗?
我们没有尝试将 NVM 与 Maven 集成,而是决定放弃 yeoman-maven-plugin
,转而使用 frontend-maven-plugin
。 frontend-maven-plugin
允许本地 Node 和 NPM 安装,以及其他构建工具,如 Gulp 和 Grunt。唯一需要进行的更改是 pom.xml
。另外,不再需要在 Jenkins 中编写额外的脚本。
安装Node和NPM的使用示例
<plugin>
...
<execution>
<!-- optional: you don't really need execution ids,
but it looks nice in your build log. -->
<id>install node and npm</id>
<goals>
<goal>install-node-and-npm</goal>
</goals>
<!-- optional: default phase is "generate-resources" -->
<phase>generate-resources</phase>
</execution>
<configuration>
<nodeVersion>v0.10.18</nodeVersion>
<npmVersion>1.3.8</npmVersion>
<!-- optional: where to download node and npm from. Defaults to https://nodejs.org/dist/ -->
<downloadRoot>http://myproxy.example.org/nodejs/dist/</downloadRoot>
<!-- optional: where to install node and npm. Defaults to the working directory -->
<installDirectory>target</installDirectory>
</configuration>
</plugin>
可以找到有关插件的更多信息here。