使用 Docker 安装 Jenkins 并实现项目自动化部署是一种高效且便捷的方法。以下是详细的步骤和代码示例,帮助你完成这一过程。
一、准备工作
- 安装 Docker:确保你的系统已经安装了 Docker。如果没有安装,请参考 Docker 官方文档进行安装。
- 拉取 Jenkins 镜像:从 Docker Hub 上拉取 Jenkins 的官方镜像。
二、启动 Jenkins 容器
创建 Jenkins 数据卷:为了持久化 Jenkins 的数据,我们需要创建一个数据卷。
docker volume create jenkins_home
运行 Jenkins 容器:使用以下命令启动 Jenkins 容器。
docker run -d --name jenkins \
-p 8080:8080 -p 50000:50000 \
-v jenkins_home:/var/jenkins_home \
jenkins/jenkins:lts
-d
:后台运行容器。--name jenkins
:为容器命名为jenkins
。-p 8080:8080
:将宿主机的 8080 端口映射到容器的 8080 端口(Jenkins Web UI)。-p 50000:50000
:将宿主机的 50000 端口映射到容器的 50000 端口(Jenkins Agent 通信端口)。-v jenkins_home:/var/jenkins_home
:将数据卷jenkins_home
挂载到容器的/var/jenkins_home
目录,用于持久化数据。jenkins/jenkins:lts
:使用 Jenkins 的长期支持版本(LTS)。
- 访问 Jenkins:在浏览器中访问
http://<your-server-ip>:8080
,你将看到 Jenkins 的初始设置页面。按照提示完成初始配置。
三、配置 Jenkins
- 解锁 Jenkins:在初次访问 Jenkins 时,你需要输入管理员密码。你可以在启动容器后通过以下命令获取该密码:
docker logs jenkins | grep 'password'
- 安装推荐的插件:根据向导选择安装推荐的插件。
- 创建管理员用户:设置一个管理员用户名和密码。
- 配置实例:跳过实例配置。
四、配置 Jenkins Job
- 创建新任务:点击左侧菜单中的“新建任务”,输入任务名称,选择“构建一个自由风格的软件项目”,然后点击“确定”。
- 配置源码管理:在“源码管理”部分,选择你的版本控制系统(如 Git),并填写仓库 URL 和凭证。
- 添加构建步骤:在“构建触发器”部分,可以选择定时构建或基于 SCM 的触发器。在“构建”部分,可以添加执行 shell 脚本或其他构建步骤。例如,一个简单的 Maven 构建步骤如下:
mvn clean install
-
配置构建后操作:在“构建后操作”部分,可以添加发布步骤,如将构建产物部署到服务器。
五、示例:自动化部署 Spring Boot 应用
假设你有一个 Spring Boot 项目,并且希望将其自动化部署到远程服务器。以下是详细步骤:
- 编写部署脚本:在 Jenkins 工作区中创建一个部署脚本,例如
deploy.sh
。#!/bin/bash # 停止旧的服务 docker stop my-spring-boot-app || true docker rm my-spring-boot-app || true # 构建新的镜像 docker build -t my-spring-boot-app . # 运行新的容器 docker run -d --name my-spring-boot-app -p 8080:8080 my-spring-boot-app
-
在 Jenkins Job 中添加构建后操作:在“构建后操作”部分,选择“执行 shell 脚本”,并将上述
deploy.sh
脚本内容粘贴进去。 -
保存并运行 Job:保存配置,然后手动触发构建,或者等待自动触发。如果一切正常,你的 Spring Boot 应用将被重新部署到远程服务器。
六、总结
通过以上步骤,你已经成功使用 Docker 安装并配置了 Jenkins,并实现了一个简单的项目自动化部署流程。你可以根据实际需求进一步扩展和优化 Jenkins Job,以适应更复杂的自动化部署场景。
标签:容器,8080,home,一键,构建,jenkins,Jenkins,Docker From: https://blog.csdn.net/LA1245780/article/details/143402645