Jenkins + Docker + Spring Boot实现自动化部署

环境:CentOS7 + Git (Gitee)

实现步骤:在 Docker 安装 Jenkins,配置 Jenkins 基本信息,利用 Dockerfile 和 Shell 脚本实现项目自动拉取打包并运行。

一、安装 Docker
1、 下载Docker依赖的环境
yum -y install yum-utils device-mapper-persistent-data lvm2

2 指定Docker镜像源
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

3 安装Docker
采用yum的方式安装
yum makacache fast
yum -y install docker-ce

4 启动Docker并测试
启动Docker服务
systemctl start docker
设置开机自动启动
systemctl enable docker
测试
docker run hello-world

二、安装 Jenkins

  1. 安装 Jenkins
    Docker 安装一切都是那么简单。注意检查 8080 是否已经占用,如果占用请修改端口。
    docker run --name jenkins -u root --rm -d -p 8080:8080 -p 50000:50000 -v /var/jenkins_home:/var/jenkins_home -v /var/run/docker.sock:/var/run/docker.sock jenkinsci/blueocean

如果没改端口号的话,安装完成后访问地址:http://{部署Jenkins所在服务IP}:8080

  1. 初始化 Jenkins
    2.1 解锁 Jenkins
    进入Jenkins容器
    docker exec -it {Jenkins容器名} bash
    例如 docker exec -it jenkins bash

这里需要注意,如果没有这个文件夹,就需要将文件夹权限进行修改
chmod 777 var
查看密码
cat var/jenkins_home/secret.key

复制密码到输入框里面
image

2.2 安装插件
选择第一项:安装推荐的插件。
image
2.3 创建管理员用户

三、系统配置

  1. 安装需要插件
    进入【首页】–【系统管理】–【插件管理】–【可选插件】。搜索以下需要安装的插件,点击安装即可
    image
    安装 Maven Integration
    安装 Publish Over SSH(如果不需要远程推送,不用安装)
    如果使用 Gitee 码云,安装插件Gitee(自带 Git 不用单独安装)
  2. 配置 Maven
    进入【首页】–【系统管理】–【全局配置】,拉到页面最下方 maven–maven 安装。
    image
    四、创建任务
  3. 新建任务
    点击【新建任务】,输入任务名称,点击构建一个自由风格的软件项目。
    image
  4. 源码管理
    点击【源码管理】–【Git】,输入仓库地址,添加凭证,选择好凭证即可。
    image
    image
  5. 构建触发器
    点击【构建触发器】–【构建】–【增加构建步骤】–【调用顶层 Maven 目标】–【「填写配置」】–【保存】。
    image

此处命令只是 install,看是否能生成 jar 包。
clean install -Dmaven.test.skip=true
image

五、测试

  1. 构建
    点击构建按钮。
    该功能测试是否能正常打包。
    image
  2. 查看日志
    点击正在构建的任务,或者点击任务名称进入详情页面,查看控制台输出。看是否能成功打成 jar 包。
    该处日志第一次可能下载依赖 jar 包失败,再次点击构建即可成功。
    image
    image
    image
  3. 查看项目位置
    cd /var/jenkins_home/workspace
    ll # 即可查看是否存在
    image
    六、运行项目
    因为项目和 Jenkins 在同一台服务器,所以我们用 Shell 脚本运行项目,原理既是通过 Dockerfile 打包镜像,然后 docker 运行即可。
  4. Dockerfile
    在 Spring Boot 项目根目录新建一个名为 Dockerfile 的文件。

FROM openjdk:8
MAINTAINER 作者姓名+邮箱地址
ADD target/weifufu-1.0-SNAPSHOT.jar app.jar
EXPOSE 8082
ENTRYPOINT ["java","-jar","/app.jar"]

  1. 修改 Jenkins 任务配置
    image

image

cd /var/jenkins_home/workspace/weifuwu
docker stop weifufu || true
docker rm weifufu || true
docker rmi weifufu || true
docker build -t weifufu .
docker run -d -p 8082:8082 --name weifufu weifufu:latest

点击保存即可

3 返回首页构建即可

posted @   一条java狗  阅读(154)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!
点击右上角即可分享
微信分享提示