本文主要记录如何在linux服务器上安装Jenkins,并使用jenkins作为持续集成工具将springboot项目部署到远程服务器。
一、结构
1.1 服务器结构
- 测试机器:若干台外网测试主机,这里假设其中某台的IP地址为114.114.111.111。
- Jenkins服务器:搭建在内网的测试主机,Jenkins安装部署在这台机器上。
- SVN或GIT代码库:本次以git为例(SVN同理,只需配好地址,jenkins可以提取代码)
1.2 测试环境目录结构
- /home/ceiec/BackService/jenkinsWeb: 项目总目录
- /home/ceiec/BackService/jenkinsWeb/jenkins-in:jenkins构建好的jar包上传到此目录、存放项目启动的脚本start.sh
- /home/ceiec/BackService/jenkinsWeb/WebInsight:项目启动运行的目录,存放日志文件及历史构建jar包的备份文件
1.3 代码结构
以WebInsight项目为例
二、整体思路
- 使用gradle构建项目(maven同理,只需输入对应打包命令即可)
- 构建后使用Publish Over SSH(jenkins插件)部署到远程服务器
- 关闭应用(杀掉之前项目的进程)
- 备份应用到lastDeploy目录
- 上传新版本的Jar包(或者war包)
- 启动应用
- 其中,关闭、备份、删除和启动应用都是由脚本来完成,所以我写了一个部署脚本 start.sh 放在 /jenkins-in下(内容见 相关脚本 章节)。
- Pushlish Over SSH的执行顺序是先上传文件再执行脚本,所以对于每个应用每个服务器可以设置了两个 Transfer Set ,一个用于执行clean备份,一个用于执行start启动项目(脚本可随意发挥,最终目的就是杀掉之前的项目进程,删除并备份之前项目程序,开启新的项目程序
三、Jenkins安装部署
3.1 下载Jenkins
可以在