1. docker安装jenkins
# 从默认服务器,jenkins仓库,下载最新镜像
docker pull jenkins
# 基于jenkins镜像创建myjenkins容器并启动,容器端口8038(因为8080被占用了)
# 如果不加-d,则容器运行会占用此终端,如果终端关闭,则容器也相应关闭,jenkins服务就无法访问了。加上-d,容器会在后台运行。
docker run -d --name myjenkins -p 8038:8080 jenkins
# java -Duser.home=/var/jenkins_home -jar /usr/share/jenkins/jenkins.war
- 页面输入: 测试机ip:8038即可以访问myjenkins容器的jenkins服务了。
2. jenkins容器中安装NodeJs插件
因为Jenkins容器中只有java环境支持运行jenkins,没有node环境,但是jenkins提供在线安装nodejs。官方文档
下载nodejs插件并配置
- 系统管理--->管理插件--->下载NodeJS插件
- 下载的插件在:$JENKINS_HOME/plugins目录下
- 系统管理--->Global Tool Configuration--->选择需要安装的nodejs版本
- 会从nodejs官网下载安装,nodejs安装包在:$JENKINS_HOME/tools目录下
3. job配置并下载安装nodejs
3.1 构建环境勾选 Provide Node & npm bin/folder to PATH
- 每次build,都会首先执行环境构建,环境构建无误后,才会开始真正的构建过程
- 会下载nodejs并安装配置,并把node添加到当前PATH环境变量中,这样就支持node和npm命令啦!
3.2 构建中打印$PATH并查看node,npm版本
3.3 运行构建,查看构建结果
- 可以看到构建的过程中jenkins会下载nodejs包,并且将node命令添加到当前构建环境中
- 可以看到nodejs包名: tools/jenkins.plugins.nodejs.tools.NodeJSInstallation
4. jenkin容器中查看node
- 虽然jenkins在线安装了nodejs但是并没有将其永久性添加到PATH中,所以仍然需要进入其安装目录查看。
cd /var/jenkins_home/tools/jenkins.plugins.nodejs.tools.NodeJSInstallation/nodejs_9.5.0
./bin/node -v # 可以正常的输出node版本