乐趣区

关于java:Jenkins-Docker-一键自动化部署-Spring-Boot-项目步骤齐全少走坑路

本文章实现最简略全面的 Jenkins+docker+springboot 一键主动部署我的项目,步骤齐全,少走坑路。

环境:centos7+git(gitee)

简述实现步骤:在 docker 装置 jenkins,配置 jenkins 根本信息,利用 Dockerfile 和 shell 脚本实现我的项目主动拉取打包并运行。

举荐一个开源收费的 Spring Boot 实战我的项目:

https://github.com/javastacks/spring-boot-best-practice

装置 docker

docker 装置社区版本 CE

确保 yum 包更新到最新。
yum update
卸载旧版本(如果装置过旧版本的话)
yum remove docker  docker-common docker-selinux docker-engine
装置须要的软件包
yum install -y yum-utils device-mapper-persistent-data lvm2
设置 yum 源
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
装置 docker
yum install docker-ce  #因为 repo 中默认只开启 stable 仓库,故这里装置的是最新稳定版 17.12.0
yum install < 本人的版本 >  # 例如:sudo yum install docker-ce-17.12.0.ce
启动和开机启动
systemctl start docker
systemctl enable docker
验证装置是否胜利
docker version

装置 Jenkins

Jenkins 中武官网:https://www.jenkins.io/zh/

装置 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

此处会有几分钟的等待时间。

初始化 Jenkins

详情见官网教程 ->https://www.jenkins.io

解锁 Jenkins

进入 Jenkins 容器:docker exec -it {Jenkins 容器名} bash

例如 docker exec -it jenkins bash

查看明码:cat /var/lib/jenkins/secrets/initialAdminPassword

复制明码到输入框外面

装置插件

抉择第一个:装置举荐的插件

创立管理员用户

此账户肯定要记住哦

系统配置

装置须要插件

进入【首页 】–【 系统管理 】–【 插件治理 】–【 可选插件

搜寻以下须要装置的插件,点击装置即可。

  • 装置 Maven Integration
  • 装置 Publish Over SSH(如果不须要近程推送,不必装置)
  • 如果应用 Gitee 码云,装置插件 Gitee(Git 自带不必装置)
配置 Maven

进入【首页 】–【 系统管理 】–【 全局配置】,拉到最上面 maven–maven 装置

创立工作

新建工作

点击【新建工作】,输出工作名称,点击构建一个自在格调的软件我的项目

源码治理

点击【源码治理】–【Git】,输出仓库地址,增加凭证,抉择好凭证即可。

构建触发器

点击【构建触发器 】–【 构建 】–【 减少构建步骤 】–【 调用顶层 Maven 指标 】–【 填写配置 】–【 保留

此处命令只是 install,看是否能生成 jar 包

clean install -Dmaven.test.skip=true
保留

点击【保留】按钮即可

测试

该功能测试是否能失常打包

构建

点击构建按钮

查看日志

点击正在构建的工作,或者点击工作名称,进入详情页面,查看控制台输入,看是否能胜利打成 jar 包。

该处日志第一次可能下载依赖 jar 包失败,再次点击构建即可胜利。

查看我的项目地位
cd /var/jenkins_home/workspace

ll命令即可查看是否存在

运行我的项目

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

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"]
批改 jenkins 工作配置

配置如下:

-t:指定新镜像名
.:示意 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 是如果命令执行失败也会持续履行,为了避免第一次没有该镜像报错
保留

点击保留即可

构建

查看 jenkins 控制台输入,输入如下,证实胜利!

验证
docker ps 查看是否有本人的容器
docker logs 本人的容器名 查看日志是否正确

浏览器拜访我的项目试一试

版权申明:本文为 CSDN 博主「这把躺赢」的原创文章,遵循 CC 4.0 BY-SA 版权协定,转载请附上原文出处链接及本申明。原文链接:https://blog.csdn.net/zqqiang0307/article/details/120458586

近期热文举荐:

1.1,000+ 道 Java 面试题及答案整顿(2022 最新版)

2. 劲爆!Java 协程要来了。。。

3.Spring Boot 2.x 教程,太全了!

4. 别再写满屏的爆爆爆炸类了,试试装璜器模式,这才是优雅的形式!!

5.《Java 开发手册(嵩山版)》最新公布,速速下载!

感觉不错,别忘了顺手点赞 + 转发哦!

退出移动版