前言
前面文章介绍了如何安装jenkins并成功运行以及maven项目的打包部署,这篇文章将讲述自动化发布到服务器并自动运行,持续更新中……记得关注哦~
一、准备工作
1. 云服务器环境准备
确保云服务器已安装 JDK(与开发环境版本一致) 开放必要的端口(如 8080、22 等)
2. Jenkins 服务器配置
确保 Jenkins 服务器可以 SSH 连接到目标云服务器 安装必要的 Jenkins 插件: Publish Over SSH
二、配置 Jenkins 连接云服务器
1. 配置 SSH 连接
进入 Jenkins 管理界面 → “Manage Jenkins” → “Configure System” 找到 “Publish over SSH” 部分 添加 SSH Server 配置:
Name | 给服务器起个名称(如 “testServer”) |
Hostname | 云服务器 IP 地址 |
Username | SSH 登录用户名(如 “root”) |
选择认证方式: 使用密码:直接填写密码 使用密钥:将 Jenkins 服务器的公钥添加到云服务器的 ~/.ssh/authorized_keys 中
三、部署与配置
1. 修改 Maven 打包配置
确保 pom.xml 包含 Spring Boot Maven 插件:
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
2. Jenkins 项目配置
在构建后步骤中添加 “Send files or execute commands over SSH”
配置传输:
Source files | **/target/*.jar(根据实际打包名称调整) |
Remove prefix | target/ |
Remote directory | /opt/yourapp(自定义应用目录) |
Exec command:
#!/bin/bash
APP_JAR="/root/opt/yourapp/*.jar"
LOG_FILE="/var/log/yourapp.log"
# 停止旧进程
if pkill -f "java.*$(basename $APP_JAR)"; then
echo "成功停止旧进程"
else
echo "没有找到运行中的进程"
fi
# 确认进程终止
for i in {1..5}; do
if pgrep -f "java.*$(basename $APP_JAR)" >/dev/null; then
sleep 1
else
break
fi
done
# 启动新实例
echo "nohup java -jar $APP_JAR > $LOG_FILE 2>&1 &" | at now
echo "已提交后台启动任务,使用以下命令检查:"
echo "tail -f $LOG_FILE"
四、 重新构建项目
4.1 点击项目重新构建
4.2 查看构建日志
4.3 查看项目启动情况
在云服务器中执行 jps 查看项目是否启动成功
4.4 访问接口
大功告成!!!
评论前必须登录!
注册