Mac Jenkins 部署 SpringBoot 应用到远程服务器
前言
本篇文章以本地 Mac 搭建的 Jenkins 为背景,实现本地通过 Jenkins 打包并传到远程服务器并重启 jar 包。
安装插件
首先我们需要在插件管理中安装 Publish Over SSH
插件
安装好后在系统配置中找到 Publish Over SSH
配置项
这里开头的 Passphrase 是通用密码,表示以下添加的服务器,若没填密码,则都是用该密码。
接下来配置服务器连接信息
然后点击高级,可以单独设置该服务器的密码:
设置完之后,点击保存。
全局工具配置
配置JDK
Centos 的 JDK_HOME 如果不知道在哪里,可以通过 echo $JAVA_HOME
命令查看
配置 maven
由于我之前没有在服务器上安装 maven,所以我这里选择自动安装
配置项目
在配置项目的构建环境中选择 Send files or execute commands over SSH after the build runs
这个选项表示在构建部分执行完之后,在执行上传到远程服务器等操作
参数解释
Source files
默认是 Jenkins workspace 的工作目录,就是当前项目的根目录,这个路径指向的是你想要上传到远程服务器的文件路径Remove prefix
去除上层目录,若不去除,Jenkins 会根据 Source files 的目录层层创建到 Remote directory 中Remote directory
要上传到远程服务器的目录,该目录是相对于系统配置中配置了该服务器的 Remote directory 开始查找。Exec command
在远程服务器中执行脚本,这个地方就可以用来写一些 shell 脚本,来关闭 SpringBoot 服务的端口,在重启 SpringBoot 服务。
当配置完之后,我们就可以构建查看效果了。
shell
这里贴出一些简单的 操作 Springboot 关闭、启动的脚本
1 | killPort.sh |
1 | startSpringBoot.sh |
可以将 shell 文件放到 /home/call-show-api
中,
然后在 Exec command 中写入
1 | cd /home/call-show-api |