环境准备
+ Centos: 7
+ Jenkins: 2.60.3
+ Docker: 20.10.17
+ Idea: 2021.1.3
+ SpringBoot: 2.2.2.RELEASE
版本均无特别要求, 上述版本只供参考.
准备一个Centos服务器
可以自己搭建虚拟机/物理机服务器, 也可以直接上阿里云/腾讯云买一个. 只要注意镜像是Centos 7版本即可.
搭建一个springboot项目
一般都是先有的项目, 才想着改进部署方案. 如果没有springboot项目, 可以百度一个搭建教程, 按着搭建即可.
安装Docker
请查看我的另一篇教程: 史上最简单Centos7安装dokcer
安装Jenkins
请查看我的另一篇在思否的教程: 使用Jenkins优雅部署Java项目【超级详细的实战教程】
使用Jenkins部署Springboot项目到Docker容器中
在上一个步骤中, 我们已经完成了使用Jenkins部署Springboot项目到Centos服务器上了. 这一步, 我们需要改进成"使用Jenkins部署springboot项目到Docker容器中", 而不是直接部署到服务器上了.
首先展示一个我项目在服务器的目录结构, 以便理解下面配置中关于路径相关项(根目录为/app/mall-tiny)
+ jars目录: 用于存放项目Jar包的目录
+ logs目录: 用于存放项目日志文件目录
+ script目录: 用于存放项目启动脚本目录
-
在script目录下创建一个名为
Dockerfile的文件, 内容如下:FROM eclipse/centos_jdk8 VOLUME /tmp ADD jars/mall-tiny-01-1.0-SNAPSHOT.jar app.jar EXPOSE 8081 ENTRYPOINT ["java","-jar","-Dspring.profiles.active=dev","-Djasypt.encryptor.password=BPQyqpWPacz5vCPVa","-Duser.timezone=GMT+8","app.jar"] -
还是在script目录下创建一个名为
mall-tiny-docker.sh的启动脚本, 内容如下:docker stop mall-tiny || true docker rm mall-tiny || true docker rmi mall-tiny || true docker build -f /app/mall-tiny/script/Dockerfile -t mall-tiny /app/mall-tiny/ docker run -itd --name mall-tiny \ -p 8081:8081 \ -v /app/mall-tiny/logs:/app/mall-tiny/logs \ -v /etc/localtime:/etc/localtime \ --restart=always \ mall-tiny:latest -
配置Jenkins, 将之前的启动脚本, 替换为我们刚才创建的.
-
点击Jenkins构建项目, 然后在服务器查看新创建的docker容器
Idea集成Jenkins
本文由 简悦 SimpRead 转码, 原文地址 www.jianshu.com
这两天把公司项目里部分手动更新的部署内容,改造成了 Jenkins 里的 job。以前更新一个 jar 包,需要更新客户端(docker-compose 重新 build、up)、更新虚拟机镜像 (手动建虚拟机,替换 jar 包,保存快照)。现在只需要把待更新的 jar 提交到 git 仓库,jenkins 即可完成自动更新。挺方便的了,但还需要更方便。
目前遇到的问题是:jar 包提交到 git 上之后,jenkins 可能还没到轮询时间,导致要几十分钟之后才会触发自动构建任务。如果手动点击构建的话,又要打开浏览器 访问 jenkins 管理后台。既然能通过 Idea 进行 git 操作,能不能也通过 Idea 进行 jenkins 构建操作呢?
答案是:可以的。我再 Idea 上安装一个 Jenkins plugins 就可以了。
安装完成之后,进行一些配置,点击【Test Connection】, 会出现:[Fail] CSRF enabled -> Missing or bad crumb data 错误。
这时,我们需要去 Jenkins 的管理后台,生成一个用户 token。
点击生成
复制 token
复制 token
粘贴 token,测试连接。
测试连接
可以看到成功了。
成功
Idea集成Docker
本文由 简悦 SimpRead 转码, 原文地址 segmentfault.com
开发环境 开发环境操作系统:Windows 10 IntelliJ IDEA: 2019.2.4 (Ultimate Edition) Docker 服务所在环境:Ubuntu 18.04.4 Serve......
开发环境
- 开发环境操作系统:Windows 10
- IntelliJ IDEA: 2019.2.4 (Ultimate Edition)
- Docker 服务所在环境:Ubuntu 18.04.4 Server
- Docker:19.03.8(Community)
- Windows 版 Docker Compose:1.25.4
1. Docker 开启远程访问
参照这篇文章 Docker 开放远程安全访问(开启 2376 端口和 CA 认证)
2. 安装 IDEA 的 Docker 插件
在 File --> Settings --> Plugins 在搜索框中输入 Docker,搜索并点击安装。安装完成后重启 IDEA。
3. IDEA 中建立和 Docker 的连接
在 File–> Settings–>Build,Execution,Deployment 中找到 Docker
新建一个 Docker 实例,连接成功后底部会显示 Connection successful。
设置完成后,回到 IDEA 主界面,可以看到下面多出来一个 Docker 窗口或者在 Services 窗口中出现 Docker。选中并连接 Docker,连接上后显示 Containers 和 Images 就是我们现在 Docker 中已经有的容器和镜像。