-
ERROR: Maven Home /usr/java/maven doesnt exist
原因:docker启动Jenkins时没有指定Maven Home或者Maven Home路径设置不正确
docker run -u root
--rm #(可选)关闭时自动删除Docker容器
-d #(可选)在后台运行容器(即“分离”模式)并输出容器ID。如果您不指定此选项, 则在终端窗口中输出正在运行的此容器的Docker日志。
-p 9999:8080 #容器的端口8080到主机上的端口9999。 前面是主机的端口,后面是容器的端口
-p 50000:50000 #将容器的端口50000 映射到主机上的端口50000(代理端口)
-v jenkins-data:/var/jenkins_home #映射在容器中的`/var/jenkins_home` 目录到具有名字 `jenkins-data` 的[volume]
-v /var/run/docker.sock:/var/run/docker.sock #容器与Docker守护进程通信
-v /usr/java/maven:/usr/local/maven # 将宿主机的maven环境变量/usr/java/maven映射到容器的/usr/local/maven,jenkins里配置maven时地址填写/usr/local/maven
-v /etc/localtime:/etc/localtime:ro #设置容器时间与宿主机一致
--name jenkins #设置别名
jenkinsci/blueocean
-
Cannot run program "/usr/local/jdk/bin/java" (in directory "/var/jenkins_home/workspace/Ccloud预生产"): error=2, No such file or directory
原因:/usr/local/jdk/bin/java找不到或者不存在
解决办法:删掉jenkins全局配置里的JDK配置。docker jenkins 是一个专用来做部署的容器,自带Java,不需要额外配置JDK - jenkins时间与北京时间不一致(早8个小时)的解决办法
docker启动jenkins时加上
-e JAVA_OPTS=-Duser.timezone=Asia/Shanghai
docker run ... -e JAVA_OPTS=-Duser.timezone=Asia/Shanghai
完整命令:
docker run -u root -d -p 9999:8080 -p 50000:50000 -v jenkins-data:/var/jenkins_home -v /var/run/docker.sock:/var/run/docker.sock -v /usr/java/maven:/usr/local/maven -e JAVA_OPTS=-Duser.timezone=Asia/Shanghai --name jenkins jenkinsci/blueocean