Jenkins环境搭建---基于Docker
- 创业
- 2025-08-24 16:09:01

前期准备
提前安装jdk、maven、nodeJs(如果需要的话)
创建 jenkins 环境目录,用来当做挂载卷
/data/jenkins/
一:拉取 Jenkins 镜像 docker pull jenkins/jenkins:lts 二:设置 Jenkins挂载目录 mkdir -p ~/jenkins_home sudo chown 1000:1000 ~/jenkins_home 三:启动 Jenkins 容器 docker run -p 80:8080 -p 81:50000 \ --restart always \ -e JAVA_OPTS="-Djava.io.tmpdir=/xxxx/tmp" \ -v /data/jenkins/tmp:/xxxx/tmp \ -v /data/jenkins/data:/var/jenkins_home\ -v /data/jenkins/apache-maven-3.8.8/:/opt/maven/apache-maven-3.8.8 \ -v /data/jenkins/repository:/opt/maven/repository \ -v /data/jenkins/jdk1.8.0_431:/opt/jdk/jdk1.8.0_431 \ -v /data/jenkins/node-v18.18.0-linux-x64:/opt/node/node-v18.18.0-linux-x64 \ -v /var/run/docker.sock:/var/run/docker.sock \ -v /usr/bin/docker:/usr/bin/docker \ -v /etc/localtime:/etc/localtime \ --name jenkins \ -d jenkins/jenkins:lts 1. 端口映射 -p 80:8080 -p 81:50000 -p 80:8080:将主机的 80 端口映射到容器的 8080 端口,这通常是 Jenkins 的 Web 界面端口。-p 81:50000:将主机的 81 端口映射到容器的 50000 端口,这是 Jenkins 用于节点通信的端口。 2. 重启策略 --restart always--restart always:确保容器在崩溃或重启后自动重启。此设置适用于生产环境中的容器,确保容器始终运行。
3. 环境变量 -e JAVA_OPTS="-Djava.io.tmpdir=/xxxx/tmp"-e JAVA_OPTS="-Djava.io.tmpdir=/xxxx/tmp":设置 Java 启动参数,指定临时文件目录为 /xxxx/tmp。这对于自定义 Jenkins 临时文件存储位置很有用。
4. 挂载卷 -v /data/jenkins/tmp:/xxxx/tmp -v /data/jenkins/data:/var/jenkins_home -v /data/jenkins/apache-maven-3.8.8/:/opt/maven/apache-maven-3.8.8 -v /data/jenkins/repository:/opt/maven/repository -v /data/jenkins/jdk1.8.0_431:/opt/jdk/jdk1.8.0_431 -v /data/jenkins/node-v18.18.0-linux-x64:/opt/node/node-v18.18.0-linux-x64 -v /var/run/docker.sock:/var/run/docker.sock -v /usr/bin/docker:/usr/bin/docker -v /etc/localtime:/etc/localtime -v /data/jenkins/tmp:/xxxx/tmp:将宿主机 /data/jenkins/tmp 目录挂载到容器中的 /xxxx/tmp,用于存储临时文件。-v /data/jenkins/data:/var/jenkins_home:将宿主机 Jenkins 数据存储目录 /data/jenkins/data 挂载到容器中的 Jenkins 主目录 /var/jenkins_home,用于持久化 Jenkins 配置和数据。-v /data/jenkins/apache-maven-3.8.8/:/opt/maven/apache-maven-3.8.8:将 Maven 版本 3.8.8 的目录挂载到容器中,使 Jenkins 使用宿主机上的 Maven。-v /data/jenkins/repository:/opt/maven/repository:将宿主机上的 Maven 本地仓库挂载到容器中的相应路径。-v /data/jenkins/jdk1.8.0_431:/opt/jdk/jdk1.8.0_431:将宿主机上的 JDK 1.8 挂载到容器中,确保 Jenkins 使用正确的 JDK。-v /data/jenkins/node-v18.18.0-linux-x64:/opt/node/node-v18.18.0-linux-x64:将 Node.js 18.x 挂载到容器中,使 Jenkins 可以使用此版本的 Node.js。-v /var/run/docker.sock:/var/run/docker.sock:使容器能够与宿主机上的 Docker 守护进程通信,允许 Jenkins 运行 Docker 容器。-v /usr/bin/docker:/usr/bin/docker:将宿主机的 Docker 二进制文件挂载到容器中,以便 Jenkins 使用宿主机的 Docker 运行命令。-v /etc/localtime:/etc/localtime:同步容器的时间与宿主机的时间。 四:Jenkins 相关配置 1. 解锁 Jenkins首次登录 Jenkins 控制台时,你需要解锁 Jenkins,通常会显示一个页面提示你输入解锁密钥。
步骤: 查找解锁密钥文件,通常文件位于宿主机的 /var/jenkins_home/secrets/initialAdminPassword。可以通过以下命令查看密钥: cat /data/jenkins/data/secrets/initialAdminPassword 2. 安装推荐插件解锁后,Jenkins 会引导你选择是否安装推荐的插件,建议选择安装 推荐插件,它包括许多常用的插件,如 Git、Maven 等。
步骤: 在解锁后页面中选择 Install suggested plugins,Jenkins 会自动下载并安装所有推荐插件。 3. 创建管理员用户在安装完插件后,Jenkins 会让你创建一个管理员用户。
步骤: 填写管理员用户名、密码、全名和电子邮件地址。如果不想创建用户,可以选择 Continue as Admin(以管理员身份继续)。 4. 配置系统设置接下来,你可以配置 Jenkins 的一些全局系统设置,包括 JDK、Maven 和 Node.js 等工具的路径。
配置 JDK 进入 Jenkins 控制台,点击 Manage Jenkins(管理 Jenkins)。选择 Global Tool Configuration(全局工具配置)。在 JDK 部分,配置你在 Docker 中挂载的 JDK 1.8 路径: JDK name:给 JDK 取个名字,比如 jdk1.8。JAVA_HOME:填写 JDK 路径,例如 /opt/jdk/jdk1.8.0_431。 点击保存。 配置 Maven 在 Global Tool Configuration 页面,找到 Maven 部分。配置你挂载的 Maven 3.8.8 目录: Maven name:可以设为 maven3.8.8。MAVEN_HOME:填写 Maven 的路径,例如 /opt/maven/apache-maven-3.8.8。 点击保存。 配置 Node.js 在 Global Tool Configuration 页面,找到 NodeJS 部分。配置你挂载的 Node.js 版本: Name:可以设为 node-v18.18.0。NodeJS installation directory:填写 Node.js 路径,例如 /opt/node/node-v18.18.0-linux-x64。 点击保存 5. 配置 Jenkins 插件根据你的需求,你可能需要安装一些特定的插件,下面是常见的一些插件配置:
安装常用插件你可以在 Manage Jenkins -> Manage Plugins 中安装以下插件:
Git Plugin:用于 Git 仓库的集成。Docker Plugin:如果你打算在 Jenkins 中运行 Docker 容器。Maven Integration Plugin:用于支持 Maven 构建。NodeJS Plugin:支持 Node.js 构建。 配置 Docker 插件 在 Manage Jenkins -> Configure System 中找到 Docker 配置部分。在 Docker Hosts 部分,添加 Docker 主机连接配置,通常配置如下: Docker Host URI:unix:///var/run/docker.sock(这是你在 docker run 命令中挂载的路径)。点击 Test Connection 测试连接是否成功 6:创建连接Git 凭据,用于拉取代码用 五:创建任务 1:点击 Dashboard 新视图比如开发环境视图
2:点击 Dashboard 新建任务新建后端maven任务
3:选择git凭据 4:选择代码url和分支 6:代码构建完成后,执行相关shell根据每个项目不同,执行不同的命令
比如传统服务直接执行 java -jar 等命令直接启动服务
比如K8S、Docker这种云服务,可写打包镜像、推送镜像到 Docker 仓库、执行k8s相关命令拉取镜像进行容器启动等
然后点击完成
7:构建代码右键找到刚才新建的任务,即可进行构建
Jenkins环境搭建---基于Docker由讯客互联创业栏目发布,感谢您对讯客互联的认可,以及对我们原创作品以及文章的青睐,非常欢迎各位朋友分享到个人网站或者朋友圈,但转载请说明文章出处“Jenkins环境搭建---基于Docker”