由于Docker的普及,刚好目前团队需要Jenkins自动发布环境,于是决定把使用Docker来运行Jenkins服务。
环境:Centos7
安装Docker:
systemctl install docker
运行Docker
systemctl start docker
拉镜像:
docker pull docker.io/jenkinsci/jenkins
run镜像:
docker run -i -t -d -p 1001:8080 -p 50000:50000 -v /home/manzz/jenkins/jenkins_home:/var/jenkins_home docker.io/jenkinsci/jenkins:latest
报错1:Permission denied - /var/jenkins_home/copy_reference_file.log
解决:容器需要UID为1000的用户权限,那宿主机挂在目录为root,UID为0,所以修改宿主机挂在目录权限。
chown 1000.1000 -R /home/manzz/jenkins/jenkins_home
报错2:Error resolving syscall name execveat: could not resolve name to syscall - ignoring syscall
解决:
yum install libseccomp
运行成功。
防火墙开端口映射,打开浏览器输入:ip:1001
docker logs -f $容器ID
又报错3:No such plugin: cloudbees-folder
解决:地址栏里面输入:ip:1001/restart
可以正常安装插件了(注:以上三个错误,我在虚拟机测试一个都没遇到过)
Maven项目需要安装Maven Integration plugin插件
去Global Tool Configuration配置JDK和Maven环境
如果需要ssh,Pipeline则添加插件,至此,基本环境已经搭建完成。
本文出自 “牛掰的技术博客” 博客,请务必保留此出处http://newbye.blog.51cto.com/5197506/1875063
原文地址:http://newbye.blog.51cto.com/5197506/1875063