docker部署Jenkins

文章描述了在Docker容器中配置Jenkins的过程,包括拉取镜像、设置环境变量和端口映射。遇到的问题是容器内时间与宿主机不一致,通过调整时区设置解决了8小时的时差问题。此外,文章还涉及到了Jenkins的角色管理策略,创建了全局角色并设置了权限,确保了安全的访问控制。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

ip服务器配置
192.168.56.1101c2g40GB

一 安装Jenkins

[root@jenkins_server ~]# docker pull jenkins/jenkins:2.405-jdk11

docker run \
  --name jenkins-blueocean \
  --restart=on-failure \
  --detach \
  --network jenkins \
  --env DOCKER_HOST=tcp://docker:2376 \
  --env DOCKER_CERT_PATH=/certs/client \
  --env DOCKER_TLS_VERIFY=1 \
  --env TZ="Asia/Shanghai" \
  --env JENKINS_JAVA_OPTIONS="-XX:MaxPermSize=1024m -D java.awt.headless=true" \
  --env JAVA_OPTS="-Xms256m -Xmx512m -Xss1024K -XX:PermSize=128m -XX:MaxPermSize=256m" \
  --publish 8080:8080 \
  --publish 50000:50000 \
  --volume jenkins-data:/var/jenkins_home \
  --volume jenkins-docker-certs:/certs/client:ro \
 jenkins/jenkins:2.405-jdk11

我的宿主机与容器中时间一致,与容器的标准日志输出时间却不一致,相差8小时,莫名其妙啊
在这里插入图片描述

RUN In -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtimeRUN echo “Asia/shanghai” > /etc/timezone
在这里插入图片描述

[root@jenkins_server ~]# docker exec -it   jenkins-blueocean ls -shal /etc/localtime 
0 lrwxrwxrwx 1 root root 27 May  2 08:00 /etc/localtime -> /usr/share/zoneinfo/Etc/UTC
[root@jenkins_server ~]# docker exec -it -u root  jenkins-blueocean unlink /etc/localtime 
[root@jenkins_server ~]# docker exec -it   jenkins-blueocean ls -shal /etc/localtime 
ls: cannot access '/etc/localtime': No such file or directory
[root@jenkins_server ~]# docker exec -it -u root  jenkins-blueocean ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
[root@jenkins_server ~]# docker exec -it   jenkins-blueocean ls -shal /etc/localtime 
0 lrwxrwxrwx 1 root root 33 May 19 16:55 /etc/localtime -> /usr/share/zoneinfo/Asia/Shanghai
[root@jenkins_server ~]# echo 'Asia/Shanghai' > /etc/timezone 
[root@jenkins_server ~]# cat /etc/timezone 
Asia/Shanghai
[root@jenkins_server ~]# docker cp /etc/timezone   jenkins-blueocean:/etc/timezone 

1 我在原先的镜像基础上启动了jenkins:2.405-jdk11 版本 ,中间需要安装插件,后续装一样的

在这里插入图片描述

在这里插入图片描述

2 关于Jenkins的角色管理模块

Role-based Authorization Strategy
在这里插入图片描述

在这里插入图片描述

注意
如果修改失败,修改Jenkins的config文件,但还是要提前备份下 /var/lib/docker/volumes/jenkins-data/_data/config.xml <useSecurity>true</useSecurity> 将true改为false

1.1 启动角色管理配置后,可以查看Manage and Assign Roles

在这里插入图片描述

在这里插入图片描述

1.2 创建全局角色test

在这里插入图片描述
在这里插入图片描述

1.3配置权限 admin 为管理员 ,Anonymous(匿名用户没有权限),test用户有读的权限

pipeline-.*

在这里插入图片描述

在这里插入图片描述

1.4 登录wyf用户查看视图是否配置成功

看到只有配置的那个视图

在这里插入图片描述
构建操作
在这里插入图片描述
构建历史也是可以看到的
在这里插入图片描述

升级Jenkins
docker run -d --user root -e TZ=Asia/Shanghai -e LANG=en_US.UTF-8 -e JENKINS_HOME=/var/jenkins_home -e JENKINS_SLAVE_AGENT_PORT=50000 -e JENKINS_VERSION=2.176.1 -e JENKINS_UC=https://updates.jenkins.io -e JENKINS_UC_EXPERIMENTAL=https://updates.jenkins.io/experimental -e JENKINS_INCREMENTALS_REPO_MIRROR=https://repo.jenkins-ci.org/incrementals --name jenkins -v /opt/jenkins_home:/var/jenkins_home -v /var/run/docker.sock:/var/run/docker.sock -v /opt/docker_mount/jenkins.war:/usr/share/jenkins/jenkins.war -v /opt/docker_mount/jenkins:/var/lib/jenkins -v /etc/localtime:/etc/localtime -p 50000:50000 -p 51004:51004 -p 8080:8080 jenkins/jenkins:lts
版本有点老,自己升级一下哦

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值