Docker 安装 Jenkins

Jenkins 是一款开源 CI & CD 软件,用于自动化各种任务,包括构建、测试和部署软件。

在项目开发场景中主要用于自动发版,解放了运维人员繁琐的工作,也便于进行版本管理。

Jenkins 可以直接运行 war 包安装,也可以使用 Docker 安装。

war 包安装过程简单,配置也相对于 Docker 安装简单,但占用资源更多,且不好管理,还是推荐使用 Docker 安装。

运行镜像

  1. 拉取镜像
bash 复制代码
docker pull jenkins/jenkins
  1. 运行镜像
bash 复制代码
docker run --name=jenkins \
           --restart=always \
           --privileged=true \
           -u root \
           -p 8080:8080 \
           -p 50000:50000 \
           -v /home/docker/jenkins/jenkins_home:/var/jenkins_home \
           -v $(which docker):/usr/bin/docker \
           -v /var/run/docker.sock:/var/run/docker.sock \
           -e TZ=Asia/Shanghai \
           -d \
           jenkins/jenkins
  1. 确认运行
bash 复制代码
docker ps

【STATUS】显示【UP】即为正常运行。

如果觉得不保险可以再查看日志确认:

bash 复制代码
docker logs -fn 200 jenkins

日志出现这一行代表运行成功。

访问系统

访问地址:++服务器IP:8080++

这里提示要输入密码,在服务器运行以下命令可以快速得到密码:

bash 复制代码
docker exec jenkins cat /var/jenkins_home/secrets/initialAdminPassword

将得到的密码填入即可登录系统。

安装插件

新手推荐直接安装推荐的插件,老手再自行选择。

点击安装推荐插件可能出现如下报错:

这是因为缺少 <font style="color:rgb(199, 37, 78);background-color:rgb(249, 242, 244);">cloudbees-folder</font> 插件,下载即可:cloudbees-folder下载地址

点一个版本下载即可(为了避免兼容性问题,最好选最新版)

下载后得到 <font style="color:rgb(199, 37, 78);background-color:rgb(249, 242, 244);">cloudbees-folder.hpi</font> 文件

接下来只需将它拷贝到 Jenkins 的插件目录中即可,插件目录的位置在启动 Jenkins 容器时所挂载的宿主机目录 <font style="color:rgb(77, 77, 77);">/war/WEB-INF/detached-</font><font style="color:rgb(78, 161, 219) !important;">plugins</font>

这里为:<font style="color:rgb(77, 77, 77);">/home/docker/jenkins/jenkins_home/war/WEB-INF/detached-plugins/</font>

然后重启容器:

bash 复制代码
docker restart jenkins

然后再刷新页面按照之前的步骤获取密码登录后安装推荐的插件即会出现如下安装页面:

由于网络等原因,有可能出现部分插件安装失败的情况:

点击【重试】再次安装即可。

创建管理员用户:

这样,Jenkins 就安装完毕了。

相关推荐
我命由我1234537 分钟前
Linux - Linux/POSIX 路径斜杠折叠规则
linux·运维·服务器·android studio·android jetpack·android-studio·android runtime
姚不倒1 小时前
Nginx 反向代理:5 种负载均衡策略与实战
运维·nginx·负载均衡
程序员黎剑1 小时前
Spring-Bean生命周期-构造器访问Autowired字段为null
java·后端·spring
Uncertainty!!1 小时前
Linux 主机无法完成校园网认证排查记录:从 DHCP、ARP 到 Portal 认证流程分析
linux·运维·服务器
古法安卓2 小时前
Android-重启流程源码解析
android·java·android studio
其实防守也摸鱼2 小时前
权限提升与横向移动:从内网渗透到域控的完整技术图谱
运维·服务器·数据库·安全·github·copilot·渗透
代码方舟2 小时前
零信任架构实战:基于天远车辆估值构建自动化二手车评估网关
运维·人工智能·架构·自动化
清水白石0082 小时前
Python 类型设计深度解析:TypedDict 能否替代 dataclass?从 JSON 数据边界到 API 设计的最佳实践
java·python·json
bgy66662 小时前
从零上手 Docker,容器技术完整入门指南
运维·docker·容器