云计算百科
云计算领域专业知识百科平台

Jenkins自动化发布到服务器并自动运行

前言

前面文章介绍了如何安装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 访问接口

在这里插入图片描述 大功告成!!!

赞(0)
未经允许不得转载:网硕互联帮助中心 » Jenkins自动化发布到服务器并自动运行
分享到: 更多 (0)

评论 抢沙发

评论前必须登录!