Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/35.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 将nodejs永久安装/添加到(Jenkins)docker映像中_Node.js_Docker_Jenkins - Fatal编程技术网

Node.js 将nodejs永久安装/添加到(Jenkins)docker映像中

Node.js 将nodejs永久安装/添加到(Jenkins)docker映像中,node.js,docker,jenkins,Node.js,Docker,Jenkins,如何(最好)将NodeJ永久安装/添加到(Jenkins)docker映像中 结果是一个带有Jenkins和nodejs的docker图像 目的是将nodejs作为全局工具安装在Jenkins容器中。要实现nodejs的安装文件夹,必须知道 例如,我看到了这个解决方案,但是Nodejs的安装文件夹是什么 运行curl-sL | sudo-E bash&&\ sudo apt get安装-y nodejs 在Jenkins构建时自动添加nodejs(稍后)不是一件好事,因为它会减慢构建过程 在je

如何(最好)将NodeJ永久安装/添加到(Jenkins)docker映像中

结果是一个带有Jenkins和nodejs的docker图像

目的是将nodejs作为全局工具安装在Jenkins容器中。要实现nodejs的安装文件夹,必须知道

例如,我看到了这个解决方案,但是Nodejs的安装文件夹是什么

运行curl-sL | sudo-E bash&&\ sudo apt get安装-y nodejs


在Jenkins构建时自动添加nodejs(稍后)不是一件好事,因为它会减慢构建过程

在jenkins映像上安装nodejs是一个不错的选择。在Docker中,打包依赖项时,添加在Docker文件中安装NodeJ的指令是一项标准操作

在Jenkins构建时自动添加nodejs(稍后)并不是一个好主意 这是一件好事,因为它减慢了构建过程

这并不总是正确的。Docker builds在构建Dockerfile时为正在创建的层使用缓存。因此,如果在Dockerfile的顶部安装nodejs,只需等待一次安装,下一个构建命令将只使用缓存,在Jenkins映像中安装nodejs不需要额外的时间

FROM node as nodejs

FROM jenkins/jenkins
COPY --from=nodejs /usr/local/bin/node /usr/local/bin/node
我建议您使用在jenkins映像中安装nodejs。由于已经存在一个节点,因此可以使用该节点在jenkins映像内安装节点

FROM node as nodejs

FROM jenkins/jenkins
COPY --from=nodejs /usr/local/bin/node /usr/local/bin/node

通过构建上面的Dockerfile,您将获得一个jenkins和node的图像,该图像是使用正式的node Docker图像安装的。

除了答案之外,请查看此图像。这允许安装nodejs和npm。现在我可以在shell中作为命令运行'npm'。所以,不需要使用全局工具。注意:它暗示使用多个FROM不是一个好的实践(再也不是了)


这是一个很好的补充。如果需要多个节点版本,还可以在文件中定义它们

为什么你不能简单地使用这个图像呢?我已经有了一个詹金斯图像,我可以在其中访问Docker。我将maven添加到它来运行maven作业。现在,我终于想将nodejs添加到Jenkins图像中。为什么?然后我可以在Jenkins中使用nodejs作为全局工具。那么我如何才能将nodejs添加到Jenkins图像中呢?谢谢!我可以使用/usr/local/bin/node作为Jenkins全局工具操作中的nodejs安装文件夹吗?此方法有效,但无法安装npm COPY--from=nodejs/usr/local/bin/npm/usr/local/bin/npm尝试了此方法,但npm仍然无效