一、基础操作:
1、docker安装命令:
docker run \ -u root \ -d \ --name=jenkins \ -p 8080:8080 \ -p 50000:50000 \ -v /data/jenkins:/var/jenkins_home \ -v /etc/localtime:/etc/localtime:ro \ -v /var/run/docker.sock:/var/run/docker.sock \ -v /usr/local/maven:/usr/local/maven \ -v /data/maven/repository:/data/maven/repository \ --restart=always \ registry.cn-hangzhou.aliyuncs.com/jgqk8s/jenkinsci:230619
注,我本地的mvn已经修改了仓库为 /data/maven/repository ,所以,挂载进docker容器后的仓库也是在这个位置,再将repository的位置挂载到容器外面!
2、如果嫌版本太低,可以到更新中心,更新更高级版本!
3、配置环境变量:系统管理 ——> 全局属性 ——> 环境变量
JAVA_HOME:/opt/java/openjdk MAVEN_HOME:/usr/local/maven PATH+EXTRA:$M2_HOME/bin:$JAVA_HOME/bin
之后如果有其他的环境如node需要从宿主机挂载到docker容器中,也可以在这里配置环境变量即可!
4、检验挂载的Jenkins_home和Maven_repository是否已经挂载到宿主机指定位置
因为,这两个目录,是很重要的持久化位置,而且很占空间!
# Jenkins_Home挂载成功 [root@i-zgn6som8 ~]# cd /data/jenkins/workspace [root@i-zgn6som8 workspace]# ls abc-backend abc-backend@tmp # Maven Repository挂载成功 [root@i-zgn6som8 ~]# cd /data/maven/repository [root@i-zgn6som8 repository]# ls ch cn com commons-codec io jakarta javax net org
5、注意,以后Maven的配置修改在宿主机完成即可!
二、如何安装Node环境
注意,这里有坑,由于我们使用的是docker安装的jenkins,而当前版本的docker容器里面使用的不是centos镜像;
所以,我们常规的配置node环境的方式都无法使用,很难受!不生效!
因此,我们使用另外一种方式,使其能够支持NodeJS环境的打包编译!
1、安装Docker Pipeline插件:

2、在Jnekinsfile脚本中使用agent标签:
pipeline{
agent any
environment {
WS = "${WORKSPACE}"
}
stages {
stage("环境检查"){
agent {
docker {
image 'node:16.20-slim'
}
}
steps {
sh 'whoami'
sh 'node -v'
sh 'npm -v'
}
}
}
}



