服务器资源与角色

身份 角色 ip 版本
服务器 Gitlab 10.0.0.133 Rocky Linux 9
服务器 Jenkins 10.0.0.134 Rocky Linux 9
服务器 APP 10.0.0.137 Rocky Linux 9
中间件 JDK - OpenJDK 17
中间件 Maven - 3.6.3
中间件 Git - 2.47.3
  • 后端代码一般都是用spring boot框架编写,用maven来构建的

  • 先从最简单的后端代码开始。

    • 首先我们理一下思路与步骤:

      • 1、 Gitlab创建项目仓库

      • 2、 开发编写代码并上传到Gitlab仓库

      • 2、 Jenkins拉取代码文件并用maven构建

      • 3、 Jenkins将拉取到本地的代码文件推送到后端服务器指定目录

      • 4、 后端服务器启动项目

一、Gitlab配置项目

1.创建仓库myapp

  • 按照之前的配置在Gitlab创建maven项目仓库myapp

  • 我们需要记住这里的Git本地设置

创建仓库

2.idea编写并推送代码

这里idea使用的是 2025.2.5 (Ultimate Edition) 版本,开发环境需要按照项目要求安装好jdk、maven等并配置好

- 开发环境配置

- idea创建springboot项目

  • 打开idea点击新建项目,此处jdk版本需要与后续Jenkins服务器安装一致

创建项目

- 编写代码

  • 在myapp项目中,按以下路径:/myapp/src/main/java/com.pangle.myapp/,此处最后一层目录com.pangle.myapp是新建项目时的软件包名字

  • 在该路径下新建一个controller层的类,右键com.pangle.myapp目录,点击新建java类,写入controller.TestController回车

  • TestController.java类中写入以下代码

package com.pangle.myapp.controller;  
  
import org.springframework.web.bind.annotation.GetMapping;  
import org.springframework.web.bind.annotation.RestController;  
  
@RestController  
public class TestController {  
  
    @GetMapping("/test")  
    public String test(){  
        return "myapp后端页面 --v1.0.0";  
    }  
}
idea编写代码

- 本地测试

  • 在完成代码编写后,我们点击右上角运行,然后在浏览器访问http://localhost:8080/test,看到返回的预设信息myapp后端页面 --v1.0.0,本地测试通过

本地测试

- 推送代码

  • 配置远程仓库:点击idea右上角版本控制,在当前路径下创建git仓库,等同于git中init过程

  • 配置远程仓库信息,idea中点击Alt + F12组合键打开终端,输入Gitlab创建的myapp仓库的Git本地设置

  • 点击提交:左侧右键myapp目录,依次选择 Git -> 提交目录

  • 将所有文件都勾选,编辑好配置信息,配置好远程仓库路径的等信息后提交

  • 在Gitlab中的myapp项目即可看到相关文件

推送代码

二、Jenkins配置任务

  • 首先,我们明确Jenkins服务器任务

    • 1、 去Gitlab仓库拉取代码到本地,需要安装Git

    • 2、 本地构建后端项目,需要安装maven

    • 3、 推送到后端App服务器,需要账户密码登录

1.全局配置

  • 在服务器安装maven

# 安装maven
yum install -y maven
​
# 验证
mvn --version
Jenkins全局配置jdk、maven路径

# 得到maven、jdk的命令路径
[root@Jenkins-~]# which mvn
/usr/bin/mvn
[root@Jenkins-~]# which java
/usr/bin/java
  • 此处一般是安装时默认配置的软连接,一直查看软连接路径最终可得到具体路径,去掉/bin之后的路径就是二者所在目录

[root@Jenkins-~]# ll /usr/bin/java
lrwxrwxrwx 1 root root 22  1月 20 22:33 /usr/bin/java -> /etc/alternatives/java
[root@Jenkins-~]# ll /etc/alternatives/java
lrwxrwxrwx 1 root root 62  2月  8 15:27 /etc/alternatives/java -> /usr/lib/jvm/java-17-openjdk-17.0.18.0.8-1.el9.x86_64/bin/java
​
[root@Jenkins-~]# ll /usr/bin/mvn
lrwxrwxrwx 1 root root 21  2月  8 15:27 /usr/bin/mvn -> /etc/alternatives/mvn
[root@Jenkins-~]# ll /etc/alternatives/mvn
lrwxrwxrwx 1 root root 24  2月  8 15:27 /etc/alternatives/mvn -> /usr/share/maven/bin/mvn
  • 在Jenkins页面点击Jenkins主页右上角系统管理-> 全局工具配置

  • JDK安装中选择新增JDK,别名随意命名,这里命名为jdk,JAVA_HOME填入的就是之前得到的去掉/bin的目录

  • Maven 安装中选择新增MAVEN,别名随意命名,这里命名为maven,MAVEN_HOME填入的就是之前得到的去掉/bin的目录

  • 这两步记得取消勾选自动安装

  • 此处如果写错路径或者路径名错误,Jenkins都会在页面提示

全局配置

2.拉取、构建代码

  • 主页新建任务,选择自由风格的项目,命名为myapp

    • 源码管理与之前一样,选择Git方式,并填入Gitlab远程仓库myapp项目的http路径

    • Build Steps中增加构建步骤,选择调用顶层MAVEN目标

      • Maven 版本选择为之前全局配置自定义的别名

      • 目标就是maven构建项目的命令:clean package -DskipTests

构建项目
  • 我们可以构建一次查看控制台输出验证配置是否正确,首次构建maven会下载相关依赖,可能耗时较长

  • 我们也可以进入Jenkins构建目录,发现这里生成了一个target目录,这就是构建后jar包所在路径,可以找到构建好的jar包myapp-0.0.1-SNAPSHOT.jar

构建项目

3.推送代码

- 推送前配置
  • 在本地构建好代码后,就需要将构建好的jar包推送到后端服务器,这里我们使用Publish Over SSH插件,可以使用这个插件配置连接指定服务器,并执行相关命令、

  • 在Jenkins系统管理 -> 插件管理Available plugins搜索Publish Over SSH插件并安装

  • 在Jenkins系统管理 -> 系统设置中,拉到最下边可以看到该插件提供的相关设置,点击新增,添加后端服务器相关信息

    • Name自定义,作为服务器在Jenkins中的标识

    • Hostname为目标服务器IP

    • Username为登录用户名

    • Remote Directory为登录目标服务器后的工作目录,如果该目录不存在,则需要去目标服务器手动创建

  • 点击高级,勾选Use password authentication, or use a different key,在Passphrase / Password填写登录用户名对应的密码

推送代码
  • 当我们配置好目标服务器信息,创建好目录后,点击最下边Test Configuration后无任何错误信息就是配置成功,点击应用后保存

- 推送配置
  • 在myapp任务配置中下拉,找到构建后操作点击增加构建后操作步骤选择Send build artifacts over SSH

  • 在SSH Server中,Name选择我们之前在系统设置中配置的目标服务器名称

    • Transfer SetSource files代表将Jenkins所在服务器那些文件复制到目标服务器,这里我们选择将当前路径下target路径中的jar包:target/*.jar

    • Exec command为复制后需要在目标服务器执行的命令,这里我们进入目标目录cd /usr/local/myapp/target写入jar包执行命令nohup java -jar myapp-0.0.1-SNAPSHOT.jar > app.log 2>&1 &

推送配置
  • 此时推送配置已经完成,但是并不能构建,因为目标服务器还没有运行项目的环境

三、Application服务器配置

1.环境配置

  • 要运行构建好的java代码,需要有jdk环境,这里的jdk安装版本,需要与开发环境、Jenkins服务器安装的都一致

# 下载jdk
yum install -y java-17-openjdk.x86_64
​
# 验证
[root@Application-~]# java -version
openjdk version "17.0.18" 2026-01-20 LTS
OpenJDK Runtime Environment (Red_Hat-17.0.18.0.8-1) (build 17.0.18+8-LTS)
OpenJDK 64-Bit Server VM (Red_Hat-17.0.18.0.8-1) (build 17.0.18+8-LTS, mixed mode, sharing)

2.启动项目

  • 回到Jenkins页面myapp任务中,点击左侧立即构建,然后查看控制台输出

  • 我们在目标服务查看java进程,可以发现启动成功,端口8080也已被java进程监听

启动项目

3.访问项目

  • 在浏览器输入后端服务器ip+端口,再带上测试接口http://10.0.0.137:8080/test,看到与本地测试时一致的页面即为通过Jenkins发布成功

Logo

openEuler 是由开放原子开源基金会孵化的全场景开源操作系统项目,面向数字基础设施四大核心场景(服务器、云计算、边缘计算、嵌入式),全面支持 ARM、x86、RISC-V、loongArch、PowerPC、SW-64 等多样性计算架构

更多推荐