【Jenkins】Jenkins构建后端流水线

一、新建任务

1、输入任务名称,选择构建项目类型(这里我选择的是Maven项目),任务名称一般格式为:项目名称-前后端

在这里插入图片描述
在这里插入图片描述

2、创建成功后的结果

在这里插入图片描述

二、配置流水线

1、进入刚创建好的任务页面中,点击配置

在这里插入图片描述

2、General配置

xxxx后端-后端cim服务测试环境-项目构建
创建人:创建者姓名
时间:创建时间
保持构建天数:2
保持最大构建个数:3

在这里插入图片描述
在这里插入图片描述

3、源码管理

在这里插入图片描述

4、构建触发器和构建环境

在这里插入图片描述

5、Build

①clean:清楚之前;package:打包 -Dmaven.test.skip=true:跳过测试;-U:强制让Maven检查所有SNAPSHOT依赖更新

这里的pom.xml文件注意:
Branches to build:分支某个环境的必须是对应的环境的,不允许随意修改
Root Pom:必须是子pom
目前的私服并没有用起来,如果改动了common模块的代码,需要改成父pom文件构建再次改回来

在这里插入图片描述

②点击右下角的高级,配置Maven位置

在这里插入图片描述

6、Post Steps

在这里插入图片描述

7、构建后操作

①增加构建后操作步骤–Send build artifacts over SSH

在这里插入图片描述

②SSH Server

管理员账号配置的ssh server的名称,如果不存在,请联系管理员进行添加

在这里插入图片描述

③Transfers

注意:Source files中不能出现fewCode-cim,
在上传到服务器时,程序默认以当前目录为根目录,如果源文件名称为fewCode-cim/target/*.jar,则程序无法找到该文件,因为它包含了fewCode-cim目录,而程序默认只会上传该目录下的文件,而不会上传它的父目录。将源文件名称改为target/*.jar`则可以避免这个问题,因为它不包含任何目录,程序可以直接找到该文件并上传到服务器中。

1)项目结构

在这里插入图片描述

2)配置项内容

#!/bin/sh

# 判断目标进程是否已经启动,已经启动的话则关闭进程
pidlist=`ps -ef | grep XXX| grep -v grep | awk '{print $2}'`
if [ "$pidlist" = "" ]
    then
    echo -- log : XXX.SNAPSHOT项目没有启动
else
    echo -- log : 关闭服务
    kill -9 $pidlist
fi 

cd /home/admin/XXX

echo -- log : 项目启动
nohup java -Xms512m -Xmx512m -Dspring.cloud.nacos.config.server-addr=t-nacos.dmsd.tech:80 -Dspring.cloud.nacos.config.namespace=XXX-Dspring.cloud.nacos.config.username=XXX-Dspring.cloud.nacos.config.password=XXX-Dspring.cloud.nacos.discovery.server-addr=t-nacos.dmsd.tech:80 -Dspring.cloud.nacos.discovery.namespace=XXX-Dspring.cloud.nacos.discovery.username=XXX-Dspring.cloud.nacos.discovery.password=XXX-jar  /home/admin/XXX/XXX.jar> /home/admin/XXX/XXX.log >&1 &
jps -l

echo -- log : 项目启动成功 - XXX

在这里插入图片描述

8、保存后点击立即构建

在这里插入图片描述

三、构建服务是否成功

1、失败结果

在这里插入图片描述

2、成功结果

在这里插入图片描述

四、查看服务是否启动

1、查看端口号

①查询端口是否开启

firewall-cmd --add-port=端口号/tcp

②开放端口(端口号和项目中配置的端口号一致)

firewall-cmd --zone=public --add-port=端口号/tcp --permanent

③重启防火墙

firewall-cmd --reload

在这里插入图片描述

2、查看服务是否启动

①、查看Java进程

#查看进程
ps aux|grep java

在这里插入图片描述

说明服务没有启动成功(项目没有启动成功,也会导致不打日志),那我们需要手动进行启动项目,看是否可以成功

#运行项目
java -jar XXXXXXX.jar

在这里插入图片描述

出现Could not find or load main class错误,那我们就可以排除不是配置Jenkins流水线的问题。

②、解决启动jar包,报错找不到主启动类Could not find or load main class

在项目的pom.xml文件中,添加以下内容

<build>
  <plugins>
    <plugin>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-maven-plugin</artifactId>
    </plugin>
  </plugins>
</build>

添加完之后,提交代码,进行构建,构建成功后,我们可以再次查看Java进程,可以看到正在运行的jar包

ps aux | grep java

在这里插入图片描述

五、运行服务

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_45490023/article/details/131527179