docker-compose方式运行Jenkins,更新Jenkins版本,添加npm node环境
一、docker-compose方式安装运行Jenkins 中发现Jenkins版本有点老,没有node环境,本节来说下更新jenkins 及添加构建前端的node环境。
1. 准备好docker-compose.yml【已更新好可以直接用】
version: '3.1'
services:
jenkins:
image: jenkins/jenkins:2.361.3
volumes:
- /home/jenkins/war/jenkins.war:/usr/share/jenkins/jenkins.war #更新了最新jenkins.war
- /data/jenkins/:/var/jenkins_home #jenkins_home主目录
- /usr/local/maven/apache-maven-3.9.2/:/usr/local/maven/apache-maven-3.9.2 #maven环境主目录
- /usr/local/node/node/:/usr/local/node/node #node环境主目录
- /home/jenkins/war/profile:/etc/profile #环境变量,可有可无
- /var/run/docker.sock:/var/run/docker.sock #容器中执行docker命令,宿主机能准确响应
- /usr/bin/docker:/usr/bin/docker #容器中执行docker命令,宿主机能准确响应
- /usr/lib/x86_64-linux-gnu/libltdl.so.7:/usr/lib/x86_64-linux-gnu/libltdl.so.7 #容器中执行docker命令,宿主机能准确响应
ports:
- "8080:8080"
expose:
- "8080"
- "50000"
privileged: true
user: root
restart: always
container_name: jenkins
environment:
JAVA_OPTS: '-Djava.util.logging.config.file=/var/jenkins_home/log.properties'
1. 准备好最新版本的Jenkins.war 包,更新最新的war包
容器中jenkins.war存放的地址/usr/share/jenkins/jenkins.war,将容器中的包和外面的新版本包,数据卷路径映射,即就是更新了最新的war包
docker-compose.yml 中数据卷中添加下面条
- /home/jenkins/war/jenkins.war:/usr/share/jenkins/jenkins.war
2. 准备好node环境包
将容器中的node环境包和外面的node环境包,数据卷路径映射
docker-compose.yml 中数据卷中添加下面这条
- /usr/local/node/node/:/usr/local/node/node #node环境主目录
3. 卸载Jenkins容器,重新创建
docker rm -f jenkins #卸载原来Jenkins容器
vim docker-compose.yml #编辑好上面的node 数据卷和Jenkins.war包数据卷
docker-compose up -d #创建新的Jenkins容器
#下面两只至关重要,创建npm和node软连接
docker-compose exec jenkins ln -sf /usr/local/node/node/bin/npm /usr/local/bin/npm
docker-compose exec jenkins ln -sf /usr/local/node/node/bin/node /usr/local/bin/node
#这个完成后,Jenkins 版本更新成功,node环境添加成功
[root@mojin node]# docker rm -f jenkins
jenkins
[root@mojin node]# cd /home/jenkins/
[root@mojin jenkins]# ls
docker-compose.yml docker-compose.yml_bak profile_bak war
[root@mojin jenkins]# vim docker-compose.yml
[root@mojin jenkins]# docker-compose up -d
Creating jenkins ... done
[root@mojin jenkins]# docker-compose exec jenkins ln -sf /usr/local/node/node/bin/npm /usr/local/bin/npm
[root@mojin jenkins]# docker-compose exec jenkins ln -sf /usr/local/node/node/bin/node /usr/local/bin/node
[root@mojin jenkins]#
这个完成后,Jenkins 版本更新成功,node环境添加成功
4. 验证Jenkins 版本和node环境
检查node环境
检查Jenkins.war包