Jenkins+Docker 一键自动化部署 SpringBoot 项目

Lewis
2023-01-03 / 0 评论 / 5 阅读 / 正在检测是否收录...

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. 进入Jenkins容器:docker exec -it {Jenkins容器名} bash
  3. 例如 docker exec -it jenkins bash
  4. 查看密码:cat /var/lib/jenkins/secrets/initialAdminPassword
  5. 复制密码到输入框里面
    lcg4amxc.png
  6. 安装插件
    选择第一个安装推荐的插件
    lcg4b6cc.png
  7. 创建管理员用户
    此账户一定要记住哦

  1. 安装需要插件
    进入【首页】–【系统管理】–【插件管理】–【可选插件】
    搜索以下需要安装的插件,点击安装即可。
    lcg4cvsg.png
  2. 安装Maven Integration
  3. 安装Publish Over SSH(如果不需要远程推送,不用安装)
  4. 如果使用Gitee 码云,安装插件Gitee(Git自带不用安装)
  5. 配置Maven
    进入【首页】–【系统管理】–【全局配置】,拉到最下面maven–maven安装
    lcg4e397.png

  1. 新建任务
    点击【新建任务】,输入任务名称,点击构建一个自由风格的软件项目
    lcg4f752.png
  2. 源码管理
    点击【源码管理】–【Git】,输入仓库地址,添加凭证,选择好凭证即可。
    lcg4fmtq.png
    lcg4frvd.png
  3. 构建触发器
    点击【构建触发器】–【构建】–【增加构建步骤】–【调用顶层Maven目标】–【填写配置】–【保存】
    lcg4g6st.png
    此处命令只是install,看是否能生成jar包

    clean install -Dmaven.test.skip=true

    lcg4grgl.png


因为我们项目和jenkins在同一台服务器,所以我们用shell脚本运行项目,原理既是通过dockerfile 打包镜像,然后docker运行即可。

  1. Dockerfile
    在springboot项目根目录新建一个名为Dockerfile的文件,注意没有后缀名,其内容如下:(大致就是使用jdk8,把jar包添加到docker然后运行prd配置文件。详细可以查看其他教程)

    FROM jdk:8
    VOLUME /tmp
    ADD target/zx-order-0.0.1-SNAPSHOT.jar app.jar
    EXPOSE 8888
    ENTRYPOINT ["Bash","-DBash.security.egd=file:/dev/./urandom","-jar","/app.jar","--spring.profiles.active=prd"]
  2. 修改jenkins任务配置
    lcg4jc56.png
    配置如下:
    lcg4jjir.png
  3. -t:指定新镜像名
  4. .:表示Dockfile在当前路径
cd /var/jenkins_home/workspace/zx-order-api
docker stop zx-order || true
docker rm zx-order || true
docker rmi zx-order || true
docker build -t zx-order .
docker run -d -p 8888:8888 --name zx-order zx-order:latest

备注:
上图用了docker logs -f 是为了方便看日志,真实不要用,因为会一直等待日志,构建任务会失败
加|| true 是如果命令执行失败也会继续实行,为了防止第一次没有该镜像报错

  1. 构建
    lcg4l2df.png
  2. 验证
    docker ps 查看是否有自己的容器
    docker logs 自己的容器名 查看日志是否正确
    浏览器访问项目试一试
0

评论 (0)

取消