一尘不染

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

jenkins

我如何(最好)将nodejs永久安装/添加到(Jenkins)Docker映像中?

结果是同时包含Jenkins和nodejs的docker映像。

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

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

运行curl -sL
https://deb.nodesource.com/setup_8.x
| sudo -E bash && \ sudo apt-get install -y nodejs

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


阅读 375

收藏
2020-07-25

共1个答案

一尘不染

解决方法是在jenkins映像之上安装nodejs。在打包依赖项时,添加一个指令以在Dockefile中安装nodejs是Docker中的标准操作。

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

这并非总是如此。Docker构建使用缓存来构建Dockerfile时创建的图层。因此,如果将nodejs安装在Dockerfile的顶部,则只需等待一次即可安装,下一个构建命令将仅使用缓存,并且无需在Jenkins映像内安装nodejs的任何额外时间。

我建议您使用docker multi-stage builds在jenkins映像内安装nodejs
。由于已经存在用于nodeDocker映像,因此您可以使用该映像将节点安装在jenkins映像内。

FROM node as nodejs

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

通过构建上面的Dockerfile,您将获得带有jenkins的映像,并使用官方节点Docker映像安装了节点。

2020-07-25