jenkins找不到pom_Jenkins一键分布式部署springboot项目

插件准备

1.maven项目插件

  • 查看系统管理-->插件管理-->已安装插件中,过滤框中输入Maven Integration plugin,搜索是否已安装Maven Integration plugin插件;
  • 若未安装,则可到系统管理-->插件管理-->可选插件中,过滤框中输入Maven Integration plugin,勾选中后点直接安装。

2.节点管理插件

  • 操作步骤同上,该插件名为Publish Over SSH。

三、配置系统设置

1.配置全局工具

  • 在系统管理-->全局工具配置中,配置Maven、Git、Gradle或Docker等全局工具;
  • 这一步按需配置(本次例子只需要Maven),这里以配置Maven为例,如下图;
895d65ccf4ede4b7969980d10baff751.png

maven配置

由于我虚拟机上并没有安装maven,所以我选择使用的是自动安装。

2.系统设置

  • jenkins Location:URL为我们虚拟机的ip地址加jenkins启动时开放的端口号(如下图);
7ef45ebc16e396201f56978754dbe4e9.png

jenkins location

  • SSH Server管理(如下图):若需要多台,点新增再添加即可。需要注意的是,如果没有配置免密登录的话,需要点击高级,勾选Use password authentication, or use a different key ,并在Passphrase/Password这一栏中输入虚拟机远程登录密码。
7c59427b8f0e8e008ba6a94a4bba71f2.png

ssh server配置

3.新建maven项目

4f7d79790a62cab4532822433f697b46.png

构建maven项目

4.设置

  • 设置项目的构建策略与仓库地址
60ded86594a860462731ef1458ac7ae3.png

General

  • 源码管理设置
86ddcb7a797b95654d21f294a4456507.png

源码管理

  • 其中Credentials添加如下:输入仓库用户名和密码,描述是为了区分该验证是什么(jenkins会保存一系列我们使用的credentials)可写可不写,推荐写
75bfb8d71099f8d7902631ca2aedc89e.png

credentials设置

  • 构建触发器
4301156e8fdbf5a7ea18081401e9338d.png

构建触发器

  • build与post steps设置,这里并没有跳过测试,所以会在构建的时候进行测试
5c3ef48cd2f4b0f290f45b91b11aa114.png

build

  • 若不知道pom.xml在哪,可以先执行一次构建,构建会把代码克隆下来,我们可以在工作空间中看到,如下图所示
7cd56e02c0d1d02100f53d3d66360923.png

工作空间

  • 构建后操作中选择Send build artifacts Over SSH,因为我们在第2步系统设置中将SSH server远程工作目录为/usr/local,此处又将路径设置为jenkins-jar/,由此最终将jar包传输到服务器中的路径是/usr/local/jenkins-jar
5c50fb274b9fa2009b4ebd67cf8c8dcc.png
  • 选择构建后操作
ea1148ea1c8636c4beb9b4e9163b62a9.png
  • 设置构建后操作
  • 上一步中的Exec command是我们要运行的执令,此处运行了我自己写的一个叫hello.sh的启动脚本,同样,如果我们要一次部署到多台服务器上的话,只需要点击Add Transfer Set再和上图一样设置另一台服务器即可;
  • 点击保存。

四、启动脚本编写

以上jenkins帮我们做了事情主要有如下几个:

  • 从仓库中克隆代码;
  • maven的clean install;
  • 当build成功后,将相应的文件传输到我们指定的服务器中(此处传输的是jar包);
  • 定时重复上述步骤。

由此可见,jenkins并没有使我们项目启动起来,为此我们需要编写启动脚本。

脚本内容大致如下(欢迎指正-)

#!/bin/bashfunction killproject(){#由于我这边多个项目jar包名一致了,所以并没有用 ps -ef | grep jar包名 来查进程id,而是通过端口号来查的 project_pid=$(netstat -lnp | grep 18099|awk '{print $7}'|cut -d/ -f1) if [ $project_pid > 0 ];then echo "项目已经启动了,开始关闭项目,项目pid为: $project_pid " kill -9 $(netstat -lnp | grep 18099|awk '{print $7}'|cut -d/ -f1) echo '项目关闭成功,开始重启项目。。。' else echo "项目未启动,直接启动" fi}function start_project(){ source /etc/profile echo '正在启动项目。。。' cd /usr/local/jenkins-jar/ nohup java -jar demo-0.0.1-SNAPSHOT.jar >warpper.log &2>1 &}function check_project(){ check_pid=$(netstat -lnp | grep 18099|awk '{print $7}'|cut -d/ -f1) if [ $check_pid > 0 ];then echo "project is start and pid = : $check_pid " else echo "project are not start" fi}killprojectstart_projectsleep 10check_project

代码分析,其中:

  • killproject()函数作用是查看系统中该项目是否已启动,若已启动,则先kill掉该进程,再启动;若未启动,则直接启动;
  • start_project()函数作用是进入我的jar包存储路径,并后台运行,函数中的source /etc/profile目的是使项目可以后台启动(其实我没加的时候,后台启动项目一直不能用,报错找不到java环境);
  • check_project()函数作用是检查项目是否正常启动,可以在jenkins控制台中看到输出信息;
  • sleep 10是为了等待我的springboot启动完,然后我们查看它的进程id.

五、构建项目

  • 点击立即构建,就可以完成项目的自动部署了。
cc78c54d063ffe65f788ee8cd083c074.png

部分控制台输出

  • 进入到虚拟机中,使用netstat -lnp | grep 18099可以验证项目是否已启动。
  • 有时候可能会在控制台输出project are not start,我不是很清楚是否是我设置的睡眠时间短了(为此,我们初次测试可以去虚拟机中查看项目是否启动)。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
您好!对于使用Jenkins进行Java项目的持续构建和部署,以下是一些基本的步骤和配置: 1. 安装Jenkins:首先,您需要安装Jenkins并确保其成功运行。可以从Jenkins官方网站下载安装程序并按照指示进行安装。 2. 配置Java环境:在Jenkins服务器上,确保已经正确安装和配置了Java开发环境。您可以通过在终端或命令提示符中运行`java -version`来验证Java环境是否正确设置。 3. 创建一个新的Jenkins Job:登录到Jenkins管理界面,点击"New Item"创建一个新的任务。选择"Freestyle project"作为项目类型。 4. 配置源代码管理:在"配置"页面的"源代码管理"部分,选择您的代码托管平台(如Git或SVN),并提供您的项目的代码仓库URL和凭据信息。 5. 配置构建触发器:在"配置"页面的"构建触发器"部分,选择适当的触发器。例如,可以选择定期构建,或者在代码提交时触发构建。 6. 配置构建步骤:在"配置"页面的"构建"部分,添加构建步骤以构建和部署您的Spring Boot项目。以下是一些常见的步骤: - 使用Maven或Gradle构建项目:使用Maven或Gradle构建您的项目。您可以在"构建"部分的"添加构建步骤"中选择适当的构建工具,并提供构建命令或任务。 - 打包可执行JAR文件:使用Maven或Gradle将项目打包为可执行的JAR文件。 - 部署项目:使用适当的部署工具(例如Docker、Tomcat等)将打包的JAR文件部署到目标环境。 7. 保存并触发构建:保存Jenkins任务配置,并手动触发第一次构建以验证配置是否正确。您可以单击任务页面的"立即构建"按钮来手动触发构建。 这些是基本的步骤和配置,您可以根据您的项目需求进行相应的调整和扩展。希望对您有所帮助!如果您有任何进一步的问题,请随时提问。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值