使用docker部署jenkins
1.安装
创建镜像时需要注意几个地方:
1.关联本地 volumes
2.设置时区(默认是 UTC 时间)
3.映射 50000 端口(这个是 master 和 slave 的通讯端口)和 8083 端口(Web)
4.JAVA_OPTS=-Duser.timezone=Asia/Shanghai
参数是设置时区为上海
5.镜像选择:
- lts 长期稳定版本,但还是会有新版提醒
- latest 每周更新版本
本次选择的镜像为lts版本
docker run -d --name myjenkins -p 8083:8080 -p 50000:50000 --restart=always -v /qj/jenkins:/var/jenkins_home -u root -e JAVA_OPTS=-Duser.timezone=Asia/Shanghai jenkins/jenkins:lts
对于进行设置 JAVA 的参数可以参考:参考链接
2.需要注意的问题
1.挂载/qj/jenkins/文件夹时需要将文件夹的归属用户id更改为1000,否则会抛出无操作权限异常。
命令如下所示:
sudo chown -R 1000:1000 jenkins
2.说道此处,有人就要问到了,为什么文件夹的归属用户Id必须是1000?
对于初次接触jenkins来说,确实挺郁闷的。为什么UID必须是1000?带着疑问我去查看了Docker中央仓库提供的Dockerfile,在这里面看到了如下的代码:
3.查看文件夹的归属者
命令如下:
ls -nd ‘文件夹名称’
3.启动jenkins
查看运行状态
命令: sudo dockers ps
初次使用jenkins
1.获取管理员密码:
在浏览器输入“IP地址:8083”进入Jenkins,首次进入需要获取管理员的密码,如图:
进入容器内部获取密码
docker exec myjenkins cat /var/jenkins_home/secrets/initialAdminPassword
2.安装插件
点击安装推荐插件即可
3.创建用户
4.安装成功
4.新建用户和权限问题
1.新建用户
对于Jenkins,我们在使用的时候,给不同的用户分配不同的权限,便于管理。也可以让Jenkins变得更加安全,首先,我们需要将Jenkins的设置中设置为允许用户注册。
保存后,回到主界面。
2.添加权限
点击管理 > 配置全局安全性 > 授权策略 > 安全矩阵,在安全矩阵下面点击添加用户或组,加入用户名,接下来给新加的用户添加权限,之后点击保存。
注:如果不添加权限,用户是无法进入jenkins的,会显示403错误。
3.admin用户登陆,提示登陆无效的解决方法
问题出现现象:
系统一直正常,退出登录之后再登陆,提示用户无效,无法登陆成功。
问题分析过程:
1、查看日志:/var/log/jenkins/jenkins.log(通过ps -elf | grep jenkins查看logfile路径),日志显示正常,没什么发现
2、猜测 登陆无效,是否是权限问题导致?然后继续尝试,对了!权限配置问题。
问题解决方法(比较暴力):
1、打开config文件(通过ps -elf | grep jenkins查看JENKINS_HOME目录,然后在目录下查找config.xml文件)
2、修改true为false
3、删除*****和****两项内容
4、重启jenkins,重新登陆即可