Jenkins 自动化部署(SpringBoot/Git/Maven/SSH)

使用这个工具的原因是因为我负责的项目必须要在服务器测试(API安全域名限制和其他因素…),调试的时候每改几行代码就要手动打包部署,效率太低(在这样下去我要被PHP洗脑了,服务器直接改代码,或许我需要在服务器用vim写代码,逃…)。

传统部署

本地打包 -> 上传到服务器 -> 杀死旧线程 -> 备份老jar包及日志文件 -> 运行新程序

Jenkins

将项目发布到Git仓库 -> Jenkins自动拉去Git仓库的项目 -> Maven编译项目 -> 通过SSH将指定的jar包上传到指定的服务器 -> 通过脚本/命令运行jar包

除了开发,其他的步骤都替你搞定了,省下的时间多陪爱的人~

在这里记录Jenkins + Git(Gogs) + SSH实现自动打包部署。

安装插件

安装这里不做赘述,选择推荐插件安装即可,下列是需要的插件。

  • Maven Integration 打包部署
  • Deploy to container 部署到容器(貌似用不上)
  • GitHub Authentic action
  • Github Organization Folder
  • Gogs Web 钩子

全局工具配置

配置JDK、Git、Maven的应用目录。

JDK

找不到java的安装路径?

JDK

Git

在windows时配置的是 */git.exe

Git

Maven

Maven

系统设置

配置SSH服务器。

SSH

为了方便这里直接使用密码登陆了,实际开发别玩这种骚操作。

创建项目








最 core 的(也是唯一绕的)就是打包后发送到服务器运行那一步。

如果是多模块,如下:

1
2
3
4
admin
|--- admin-basic
|--- admin-upms
|--- admin-flat

那么需要上传到服务器的时候需要配置多个 Transfers,并且资源文件要变一下: admin-*/target/*.jar (相对路径)

Gogs配置

当版本控制服务器收到request的时候会触发事件通知jenkins。

配置完成之后可以测试一下。

推送成功后jenkins应该会自动构建并发布部署到服务器,至此流程结束,并不复杂。