【Linux】使用Jenkins + svn + springboot自动构建jar包并自动打包在服务器上运行

这篇具有很好参考价值的文章主要介绍了【Linux】使用Jenkins + svn + springboot自动构建jar包并自动打包在服务器上运行。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

【Linux】使用Jenkins + svn + springboot自动构建jar包并自动打包在服务器上运行,《Linux从入门到精通》,# 《Jenkins》,《自动化运维》,linux,jenkins,maven,svn,自动化

👨‍🎓博主简介

  🏅云计算领域优质创作者
  🏅华为云开发者社区专家博主
  🏅阿里云开发者社区专家博主
💊交流社区:运维交流社区 欢迎大家的加入!
🐋 希望大家多多支持,我们一起进步!😄
🎉如果文章对你有帮助的话,欢迎 点赞 👍🏻 评论 💬 收藏 ⭐️ 加关注+💗


运行环境说明

运行环境 运行版本 作用
操作系统 centos 7.8 运行Jenkins的基础环境
jenkins版本 2.419 用于构建项目及其他自动化
maven版本 3.8.6 用于构建jar包
jdk版本 18、1.8 18(用于运行Jenkins)、1.8(用于运行jar包)

一、创建一个maven项目

1.1 安装必要的插件【必须】*

  • maven
  • git
  • ssh
  • svn

一般在部署完成,访问的时候选择默认安装插件基本都会装 – git。

点击 Manage Jenkin –> Plugins(插件) --> Available plugins(商店)

【Linux】使用Jenkins + svn + springboot自动构建jar包并自动打包在服务器上运行,《Linux从入门到精通》,# 《Jenkins》,《自动化运维》,linux,jenkins,maven,svn,自动化
【Linux】使用Jenkins + svn + springboot自动构建jar包并自动打包在服务器上运行,《Linux从入门到精通》,# 《Jenkins》,《自动化运维》,linux,jenkins,maven,svn,自动化
【Linux】使用Jenkins + svn + springboot自动构建jar包并自动打包在服务器上运行,《Linux从入门到精通》,# 《Jenkins》,《自动化运维》,linux,jenkins,maven,svn,自动化

  • 搜索gitmavensshsvn 进行安装;

git 和 ssh 我这里已经有了,需要更新就更新一下;

【Linux】使用Jenkins + svn + springboot自动构建jar包并自动打包在服务器上运行,《Linux从入门到精通》,# 《Jenkins》,《自动化运维》,linux,jenkins,maven,svn,自动化
【Linux】使用Jenkins + svn + springboot自动构建jar包并自动打包在服务器上运行,《Linux从入门到精通》,# 《Jenkins》,《自动化运维》,linux,jenkins,maven,svn,自动化

maven、svn 我这里没有,就安装一下吧;

【Linux】使用Jenkins + svn + springboot自动构建jar包并自动打包在服务器上运行,《Linux从入门到精通》,# 《Jenkins》,《自动化运维》,linux,jenkins,maven,svn,自动化

安装完成之后,在新建Item 那块就可以看到maven了。如下↓

【Linux】使用Jenkins + svn + springboot自动构建jar包并自动打包在服务器上运行,《Linux从入门到精通》,# 《Jenkins》,《自动化运维》,linux,jenkins,maven,svn,自动化

svn

【Linux】使用Jenkins + svn + springboot自动构建jar包并自动打包在服务器上运行,《Linux从入门到精通》,# 《Jenkins》,《自动化运维》,linux,jenkins,maven,svn,自动化

1.2 创建maven任务

  • 新建Item – > 选择maven项目,起一个任务名称。

【Linux】使用Jenkins + svn + springboot自动构建jar包并自动打包在服务器上运行,《Linux从入门到精通》,# 《Jenkins》,《自动化运维》,linux,jenkins,maven,svn,自动化

创建完之后,就到了这个页面

【Linux】使用Jenkins + svn + springboot自动构建jar包并自动打包在服务器上运行,《Linux从入门到精通》,# 《Jenkins》,《自动化运维》,linux,jenkins,maven,svn,自动化

二、配置maven项目

下面来讲解一下maven项目里的配置项。

2.1 maven项目中的配置项详解

2.1.1 General

项目描述,可以在这块写一些项目的描述。

【Linux】使用Jenkins + svn + springboot自动构建jar包并自动打包在服务器上运行,《Linux从入门到精通》,# 《Jenkins》,《自动化运维》,linux,jenkins,maven,svn,自动化

2.1.2 源码管理

主要是拉取源码用的,这里有两种,一种是git,一种是svn方式。等下我们创建项目使用的是svn方式。

【Linux】使用Jenkins + svn + springboot自动构建jar包并自动打包在服务器上运行,《Linux从入门到精通》,# 《Jenkins》,《自动化运维》,linux,jenkins,maven,svn,自动化

这个不仅Jenkins项目上要安装git插件,在服务器上也需要安装git。

yum -y install git

2.1.3 构建触发器

默认勾选上的是下面的选项:Jenkins将会去寻找之前已经构建过的pom依赖(如果有之前构建过的相同的pom文件),直接使用之前的镜像,便不会再去重新的解析了

【Linux】使用Jenkins + svn + springboot自动构建jar包并自动打包在服务器上运行,《Linux从入门到精通》,# 《Jenkins》,《自动化运维》,linux,jenkins,maven,svn,自动化

2.1.4 构建环境

在这里面,勾选上对应的内容,将去做一些额外的处理,在这里保持默认的,什么都不去勾选

【Linux】使用Jenkins + svn + springboot自动构建jar包并自动打包在服务器上运行,《Linux从入门到精通》,# 《Jenkins》,《自动化运维》,linux,jenkins,maven,svn,自动化

这是翻译后的,可根据实际情况来使用。

【Linux】使用Jenkins + svn + springboot自动构建jar包并自动打包在服务器上运行,《Linux从入门到精通》,# 《Jenkins》,《自动化运维》,linux,jenkins,maven,svn,自动化

2.1.5 Pre Steps(准备步骤)

准备步骤,一般会选择Execute shellInvoke Gradle script

【Linux】使用Jenkins + svn + springboot自动构建jar包并自动打包在服务器上运行,《Linux从入门到精通》,# 《Jenkins》,《自动化运维》,linux,jenkins,maven,svn,自动化

2.1.6 Build(构建)

【Linux】使用Jenkins + svn + springboot自动构建jar包并自动打包在服务器上运行,《Linux从入门到精通》,# 《Jenkins》,《自动化运维》,linux,jenkins,maven,svn,自动化

2.1.7 Post Steps(发布步骤)

这个配置,说明的是:在项目构建完成之后,接下来需要做的内容

在这里,我们需要将构建完的项目,打成的包传到我们的测试服务器上,也是在这里去进行配置的

2.1.8 构建设置

这里可以配置电子邮件通知。比如失败,成功,都可以进行发送邮件来通知提醒。

2.2 配置maven项目

2.2.1 服务器需要提前安装:

如果是使用git部署,服务器上也需要安装git;

  • jdk1.8

  • maven

  • jdk:根据自己的项目选择所需的jdk版本,我的项目是需要 jdk11以上,用的是jdk18 才可以;
    如果是需要jdk1.8,并且Jenkins是按照我的部署文档部署的,那么默认就会有jdk1.8,可以使用find / -name java 找一下java的安装路径,将绝对路径配置到全局工具配置里就行;如果没有安装,需要安装一下;可参考:Linux中安装jdk1.8和配置环境变量

  • maven:根据自己的项目选择所需的mvn版本,我的项目是需要 maven3.8 才可以;
    maven环境默认是没有的,也需要在服务器安装一下,可参考:【Linux】Centos安装mvn命令(maven),建议使用maven3.8,下载地址:https://pan.baidu.com/s/1drjw-sQ5JKFukamVSsLqtw?pwd=b1a0

2.2.2 配置全局系统配置

Manage Jenkins --> System

【Linux】使用Jenkins + svn + springboot自动构建jar包并自动打包在服务器上运行,《Linux从入门到精通》,# 《Jenkins》,《自动化运维》,linux,jenkins,maven,svn,自动化

  • 配置ssh环境

提示:如果找不到ssh在哪,可以使用ctrl+f搜索一下;

【Linux】使用Jenkins + svn + springboot自动构建jar包并自动打包在服务器上运行,《Linux从入门到精通》,# 《Jenkins》,《自动化运维》,linux,jenkins,maven,svn,自动化

2.2.3 配置全局工具配置

Manage Jenkins --> Tools

【Linux】使用Jenkins + svn + springboot自动构建jar包并自动打包在服务器上运行,《Linux从入门到精通》,# 《Jenkins》,《自动化运维》,linux,jenkins,maven,svn,自动化

  • maven配置

在项目开始前,我们安装了maven,所以maven使用默认的配置就行,所以这块不用改。
如果服务器有多个maven,需要用到这时候就需要重新配置一下了,配置的时候到maven的setting.xml路径,比如/usr/local/maven/apache-maven-3.8.6/conf/setting.xml

【Linux】使用Jenkins + svn + springboot自动构建jar包并自动打包在服务器上运行,《Linux从入门到精通》,# 《Jenkins》,《自动化运维》,linux,jenkins,maven,svn,自动化

然后我们拉到最下面可以看到还有一个maven,这个需要配置一下;

找到Maven安装 --> 点击新增Maven --> 配置maven路径即可;

【Linux】使用Jenkins + svn + springboot自动构建jar包并自动打包在服务器上运行,《Linux从入门到精通》,# 《Jenkins》,《自动化运维》,linux,jenkins,maven,svn,自动化

  • jdk配置

找到JDK安装 --> 点击新增JDK --> 配置jdk路径即可;

【Linux】使用Jenkins + svn + springboot自动构建jar包并自动打包在服务器上运行,《Linux从入门到精通》,# 《Jenkins》,《自动化运维》,linux,jenkins,maven,svn,自动化

配置完之后保存。

2.2.4 先写一个描述(可写可不写)

进入刚刚创建的maven项目,选择配置,跳到这个页面;

【Linux】使用Jenkins + svn + springboot自动构建jar包并自动打包在服务器上运行,《Linux从入门到精通》,# 《Jenkins》,《自动化运维》,linux,jenkins,maven,svn,自动化

2.2.5 创建源码管理(svn方式)

【Linux】使用Jenkins + svn + springboot自动构建jar包并自动打包在服务器上运行,《Linux从入门到精通》,# 《Jenkins》,《自动化运维》,linux,jenkins,maven,svn,自动化
【Linux】使用Jenkins + svn + springboot自动构建jar包并自动打包在服务器上运行,《Linux从入门到精通》,# 《Jenkins》,《自动化运维》,linux,jenkins,maven,svn,自动化

2.2.6 保存配置

配置完之后,点击保存

【Linux】使用Jenkins + svn + springboot自动构建jar包并自动打包在服务器上运行,《Linux从入门到精通》,# 《Jenkins》,《自动化运维》,linux,jenkins,maven,svn,自动化

三、构建maven项目

3.1 build(构建)项目

保存完之后,看到左边有一个build now,然后点击build(构建)就可以了;

【Linux】使用Jenkins + svn + springboot自动构建jar包并自动打包在服务器上运行,《Linux从入门到精通》,# 《Jenkins》,《自动化运维》,linux,jenkins,maven,svn,自动化

构建的时候可以查看构建过程,F5 刷新一下页面

【Linux】使用Jenkins + svn + springboot自动构建jar包并自动打包在服务器上运行,《Linux从入门到精通》,# 《Jenkins》,《自动化运维》,linux,jenkins,maven,svn,自动化

往下拉,看到这个,点进去,然后点击控制台输出,就可以看到构建过程了。

【Linux】使用Jenkins + svn + springboot自动构建jar包并自动打包在服务器上运行,《Linux从入门到精通》,# 《Jenkins》,《自动化运维》,linux,jenkins,maven,svn,自动化
【Linux】使用Jenkins + svn + springboot自动构建jar包并自动打包在服务器上运行,《Linux从入门到精通》,# 《Jenkins》,《自动化运维》,linux,jenkins,maven,svn,自动化

3.2 构建完成

出现Finished: SUCCESS 就是构建完成了。

【Linux】使用Jenkins + svn + springboot自动构建jar包并自动打包在服务器上运行,《Linux从入门到精通》,# 《Jenkins》,《自动化运维》,linux,jenkins,maven,svn,自动化

同时,最上面也会变成一个绿色的对号;

【Linux】使用Jenkins + svn + springboot自动构建jar包并自动打包在服务器上运行,《Linux从入门到精通》,# 《Jenkins》,《自动化运维》,linux,jenkins,maven,svn,自动化

构建完之后就可以在服务器上查看了,以下是存放到服务器的路径。

【Linux】使用Jenkins + svn + springboot自动构建jar包并自动打包在服务器上运行,《Linux从入门到精通》,# 《Jenkins》,《自动化运维》,linux,jenkins,maven,svn,自动化

3.3 构建报错总结:

3.3.1 关于maven版本问题报错

如果在build的时候遇到此报错,是因为maven版本的问题;

【Linux】使用Jenkins + svn + springboot自动构建jar包并自动打包在服务器上运行,《Linux从入门到精通》,# 《Jenkins》,《自动化运维》,linux,jenkins,maven,svn,自动化

3.3.2 关于jdk版本配置的问题

如果在build的时候遇到此报错,是因为jdk版本配置的问题;

【Linux】使用Jenkins + svn + springboot自动构建jar包并自动打包在服务器上运行,《Linux从入门到精通》,# 《Jenkins》,《自动化运维》,linux,jenkins,maven,svn,自动化

四、构建完自动在服务器中运行

4.1 在项目中配置Post Steps(发布步骤)

这就是在build完之后,需要进行什么操作,在这里写。
可以使用ssh 方式或者 shell 方式;
sshshell 其实都一样,都是写命令的;
ssh还需要配置全局变量,虽然上面已经配置了,但是我一般经常用 shell 方式,看自己选择吧。
这里以 shell 方式举例。

首先,需要返回刚刚的项目中进行配置;

【Linux】使用Jenkins + svn + springboot自动构建jar包并自动打包在服务器上运行,《Linux从入门到精通》,# 《Jenkins》,《自动化运维》,linux,jenkins,maven,svn,自动化

  • 找到 Post Steps

【Linux】使用Jenkins + svn + springboot自动构建jar包并自动打包在服务器上运行,《Linux从入门到精通》,# 《Jenkins》,《自动化运维》,linux,jenkins,maven,svn,自动化

  • 选择执行shell,写个shell脚本(也可以使用ssh方式,自己定义)

【Linux】使用Jenkins + svn + springboot自动构建jar包并自动打包在服务器上运行,《Linux从入门到精通》,# 《Jenkins》,《自动化运维》,linux,jenkins,maven,svn,自动化
【Linux】使用Jenkins + svn + springboot自动构建jar包并自动打包在服务器上运行,《Linux从入门到精通》,# 《Jenkins》,《自动化运维》,linux,jenkins,maven,svn,自动化

  • shell 脚本内容

提示:如果要运行jar包的话,必须在脚本里添加:BUILD_ID=DONTKILLME 环境变量,防止执行完自动化构建jar包程序自动停止问题。

#!/bin/bash

# (必须)配置一个环境变量,防止执行完自动化构建jar包程序自动停止问题
BUILD_ID=DONTKILLME

# 源jar包及路径
src_jar="/root/.jenkins/workspace/mytest_maven/target/cs.jar"
# 目标jar及包路径
dest_jar="/application/cs.jar"
# 目标jar包路径
dest_path="/application/"

# 创建目标路径
mkdir -p /application/

# 将打包完的jar包复制过去
## 先判断jar包是否存在,如果存在则备份,如果不存在,则直接复制过去运行。
if [ -e $dest_jar ];then
	echo "存在此文件,开始备份,重新复制:$(date +"%Y-%m-%d")"
	mv $dest_jar $dest_jar-$(date +"%Y-%m-%d")
    cp -ar $src_jar $dest_jar
else
	echo "目标路径没有这个文件,直接复制过去"
	cp -ar $src_jar $dest_jar
fi

cd $dest_path
# 检测jar包进程,这里直接写jar包名称,因为如果引用上面的环境变量,是路径加jar包名,如果在服务器上但启动的话,可能会找不到,所以需要直接写jar包名称。
jar_jin=$(ps -ef | grep -v grep | grep -ic cs.jar)

if [ "$jar_jin" -ge "1" ];then
	echo "检测到进程,先杀掉,后启动"
	ps -ef | grep -v grep | grep cs.jar | awk -F " " '{print $2}' | xargs kill -9
    java -jar $dest_jar --server.port=9999 >> app.log &
else
	echo "未检测到jar包进程,直接启动"
	java -jar $dest_jar --server.port=9999 >> app.log &
fi

配置完之后,点击保存;

【Linux】使用Jenkins + svn + springboot自动构建jar包并自动打包在服务器上运行,《Linux从入门到精通》,# 《Jenkins》,《自动化运维》,linux,jenkins,maven,svn,自动化

4.2 自动构建jar包并运行

  • 点击构建(Build Now)

【Linux】使用Jenkins + svn + springboot自动构建jar包并自动打包在服务器上运行,《Linux从入门到精通》,# 《Jenkins》,《自动化运维》,linux,jenkins,maven,svn,自动化

  • F5 刷新一下,可看到最新的构建运行

【Linux】使用Jenkins + svn + springboot自动构建jar包并自动打包在服务器上运行,《Linux从入门到精通》,# 《Jenkins》,《自动化运维》,linux,jenkins,maven,svn,自动化

  • 点击进入,查看控制台输出。

【Linux】使用Jenkins + svn + springboot自动构建jar包并自动打包在服务器上运行,《Linux从入门到精通》,# 《Jenkins》,《自动化运维》,linux,jenkins,maven,svn,自动化

输出Finished: SUCCESS 则为执行成功。

【Linux】使用Jenkins + svn + springboot自动构建jar包并自动打包在服务器上运行,《Linux从入门到精通》,# 《Jenkins》,《自动化运维》,linux,jenkins,maven,svn,自动化

执行成功之后我们进入到服务器中,查看一下服务是否启动,可以查看端口是否启动或者jar包进程是否启动

ps -ef | grep cs.jar

netstat -anput | grep 9999

端口和jar包进程都存在,则可以去做访问页面之类的操作了。

如果访问不到,需要确认服务是否正常启动或防火墙端口是否开启。

这样自动构建打包jar包并运行就完成了。文章来源地址https://www.toymoban.com/news/detail-858243.html

五、动构建打包jar包并运行完成

到了这里,关于【Linux】使用Jenkins + svn + springboot自动构建jar包并自动打包在服务器上运行的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Android Studio如何打jar包和aar包并使用

    之前有篇文章介绍了so库的生成和使用,看这里,但是,如果我们想把我们写的so库,通过java接口的方式提供出去,一般我们是打成jar包或者aar的形式提供,这篇文章介绍下如何打成jar包的,我们提供给使用方的是jar包和so库; 总的来说,AS打包生成jar包可以分成两类: 第一

    2024年02月01日
    浏览(30)
  • jenkins 2.346.1 从git拉取后自动构建部署springboot maven项目

    1、jenkins官网下载 jenkins2.346.1版本(2.346之后不支持java8) Jenkins 的安装和设置 下载的war包通过 java -jar jenkins.war可运行 也可下载安装版本直接安装 http://localhost:8080,端口号8080根据安装时的设定进行对应的变更,安装后需要等待一段时间。 确认发布应用的服务器安装了java g

    2024年02月02日
    浏览(40)
  • Jenkins自动化构建部署前端项目(Linux+gitee)

    本文讲述了Jenkins自动化构建部署前端项目,内容包括Linux系统安装Jenkins、如何配置构建项目并发布到目标服务器。 因公司系统项目众多,前端项目打包麻烦,项目代码管理混乱,因此需要gitee+Jenkins做自动化构建,优化项目打包流程及代码管理。 本次教程可实现最简单的自动

    2024年02月03日
    浏览(42)
  • 使用jenkins连接linux部署jar包

    首先安装jenkins,我们可以使用docker安装。用下面命令拉取jenkins镜像。 然后正常安装jenkins容器即可。 安装完成后,进入jenkins管理界面。会让我们输入初始化密码,和创建默认用户。我们按照提示操作即可。 然后,用默认用户登录,进入界面如下: 然后配置我们要管理的l

    2024年03月09日
    浏览(25)
  • Jenkins+svn自动化部署

    背景:jenkins+git部署想必大家都熟悉,因为有一个老项目用的svn版本控制,这里发一篇自动打包部署的教程,欢迎补充 1.安装Jenkins 在CentOS中,可以通过以下命令安装Jenkins: 安装完成后,启动Jenkins服务: Jenkins默认的端口号是8080。也就是说,当您在浏览器中输入“http://loca

    2024年02月08日
    浏览(32)
  • vue前端使用Jenkins自动构建项目,保姆级教程

    1. 开始前的准备工作 在阿里云控台界面搜索 容器镜像服务 添加个人版的容器镜像服务 然后在服务器上安装docker使用下面两个脚本文件 创建一个脚本 install_before_docker_env.sh 创建第二个脚本 install_docker-new.sh 在服务根目录下创建一个 install 目录将两个脚本文件放入 cd 到 instal

    2024年02月05日
    浏览(48)
  • jenkins通过流水线进行构建jar包

    最近项目上需要进行CICD,本篇博客主要分享各种骚操作 1.下载Jenkins.war包上传到服务器上面,然后在同级目录下面创建如下脚本:

    2024年02月14日
    浏览(34)
  • Linux下Jenkins自动化部署SpringBoot应用

    官方网址: https://www.jenkins.io/ 2.1 centos下命令行安装 访问官方,点击文档: 点击 Installing Jenkins: 点击 Linux: 选择 Red Hat/Alma/Rocky,就可以看到相关的安装命令: 其它版本的安装请参考: https://pkg.jenkins.io/redhat-stable/ 2.2 错误处理 2.2.1 错误1 如果报错: 请使用下面的命令:

    2024年02月06日
    浏览(30)
  • 『DevOps』如何使用 Webhook 在 Jenkins 项目中实现自动构建

    📣读完这篇文章里你能收获到 全文采用图文形式讲解 在Jenkins配置Webhook 实现代码推送时Jenkins自动构建 感谢点赞+收藏,避免下次找不到~ 在现代软件开发中,持续集成和自动化构建是至关重要的环节。本文将介绍如何利用Jenkins和Generic Webhook Trigger Plugin插件实现自动构建代码

    2024年02月08日
    浏览(31)
  • Jenkins构建自由风格项目发布jar到服务器

    前面的文章有介绍 docker安装jenkins 和 docker+jenkins发布spring项目;这里就不做过多的介绍,直接说明构建步骤。 1、选择构建一个自由风格的项目  2、 选择丢弃旧的构建  3、配置Git信息 4、构建触发器 和 构建环境可以直接跳过 5、直接来到Build Steps这步骤,先新增一个调用

    2024年02月13日
    浏览(26)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包