拉取镜像
docker pull jenkins/jenkins:lts
记得安装 jdk
yum install -y java-1.8.0-openjdk.x86_64
启动容器
docker run -d -u root -p 8080:8080 -p 50000:50000 -v /var/jenkins_home:/var/jenkins_home -v /etc/localtime:/etc/localtime --name jenkins jenkins:lts
-p 作用
- -p 8080:8080
这表示将容器内的 8080 端口映射到宿主机的 8080 端口。通常,Jenkins 使用 8080 端口作为其默认的 HTTP 访问端口。这样,当您在浏览器中输入 http://<宿主机IP>:8080 时,就可以访问到容器中的 Jenkins 服务了。- -p 50000:50000
这表示将容器内的 50000 端口映射到宿主机的 50000 端口。Jenkins 使用 50000 端口作为其默认的代理端口(也称为“JNLP”端口),这通常用于 Jenkins 代理(也称为“slave”或“agent”)与 Jenkins 主服务器之间的通信。当您配置 Jenkins 代理时,代理会使用这个端口与 Jenkins 主服务器通信。
-v 作用
- -v /var/jenkins_home:/var/jenkins_home
这个 -v 参数表示将宿主机的 /var/jenkins_home 目录挂载(mount)到容器内的 /var/jenkins_home 目录。在 Jenkins 容器中,/var/jenkins_home 是 Jenkins 的主目录,包含了所有的 Jenkins 配置、工作空间、插件等。通过挂载宿主机目录,您可以在容器外部持久化存储这些数据,即使容器被删除或重新创建,数据也不会丢失。- -v /etc/localtime:/etc/localtime
这个 -v 参数表示将宿主机的 /etc/localtime 文件挂载到容器内的 /etc/localtime 文件。/etc/localtime 是一个符号链接,指向系统时区数据文件。通过挂载这个文件,您可以确保容器中的时间与宿主机保持同步,这对于保持日志和其他时间戳的准确性非常重要。
开通端口
访问 8080 端口 进入 jenkins
获取登录密码
docker logs <jenkins 容器名>
选择 安装推荐 插件
❌❌❌会出现多个插件 安装失败的情况
⬇️类似这个样 - 或者更多 - 不要在意
点击 返回插件 管理
勾选需要插件 后一键更新
⭕️⭕️⭕️ 等待重启即可 (根据网速不同 要等待时间不同一般很长 实在无聊去刷 Leetcode)
上述安装完成后 选择 系统管理
选择全局工具配置
配置maven的 安装位置进行全局配置
配置maven的 settings.xml 文件位置
向 jenkinx 容器 手动 安装 maven
⭕️⭕️⭕️去官网下载 版本一定要与 java 项目 版本相同
安装位置 > /var/jenkins_home
配置 maven 国内镜像 就看各位了 自己去搜吧
配置 maven/bin的 权限 根据自己要求来
chmod +x /var/jenkins_home/apache-maven-3.8.8/bin/mvn
✅✅✅ maven 配置完成 上述所有准备工作完成 开始构建项目
👍👍👍 完成上述后 开始构建项目
选择_构建一个自由风格的软件项目_
⬇️⬇️⬇️ 进入这个页面后 向下,向下,向下翻
输入自己的项目仓库 账号密码 和 克隆地址
❌❌❌ 如果没有 git 这个选项 说明插件 安装有问题 请重新 看一下 上述 _6 - 10 _ 序号
⬇️⬇️⬇️ 向下继续翻 找到这个 配置使用maven 版本
⬇️⬇️⬇️ 向下继续翻 点击保存
点击 _立即构建 _
点击和这个 在点击 控制台输出 查看拉取部署进程 (管你网络好不好 也要等好久)
⭕️⭕️⭕️ 一定 切记 非常重要 在本地自己的项目先跑一边 以下命令 否则你会怀疑人生
mvn clean -X
⭕️⭕️⭕️ 如果 maven 出现问题 赶紧解决 是依赖问题 还是 手残打错 项目名 赶紧解决后 在去 jenkins 上拉取构建项目
看到这个 说明 ✔️✔️✔️
进入 jar 包 存放目录
根据 Dcoker 安装 Jenkins 前面 docker 操作指令 设置的工作目录中 找到总启动 jar 包 使用 java -jar 启动就OK了
/var/jenkins_home/workspace/test01