一个springboot项目的jenkins持续集成配置

目录

1.项目基本情况

2.jenkins的下载

1)  安装jdk

2)下载、启动和配置jenkins

3. 启动Jenkins

4. 安装Jenkins插件

5. 重启jenkins

6.jenkins工具的配置

1) jdk的路径配置

7.创建springboot项目的持续集成任务

1)  新建项目

2)代码拉取

3)  打包项目

4)启动jar程序

5)解决jenkins构建结束后终止所有它启动进程的问题

6)再次build now,验证是否正常


1.项目基本情况

该项目是  zhangjianfen 同学的软件配置管理期末的项目

项目存储在gitee上,路径:

软件配置管理期末: 1111111111111https://gitee.com/zjf18664209766/project.git

2.jenkins的下载

可请自行百度。或者参考超星班级资料中的详细步骤

1)  安装jdk

请先确保安装了jdk,我安装的是JDK1.8

2)下载、启动和配置jenkins

下载路径:

清华镜像  Index of /jenkins/war/ | 清华大学开源软件镜像站 | Tsinghua Open Source Mirror  

下载想要的版本,建议:2.364.1 LTS

注意,jenkins的版本和jdk版本

Jenkins是java程序,需要和jdk的版本匹配。学校计算机机房jdk版本1.8,所以jenkins建议选择2.364.1,否则版本太高的jenkins不支持

3. 启动Jenkins

jenkins jar包所在的文件夹下 打开命令行窗口执行如下命令启动jenkins并指定jenkins端口号为8899:大家也可以根据需要修改端口号

java -jar jenkins_2.346.war --httpPort=8899 

4. 安装Jenkins插件

大家可以启动jenkins后,通过jenkins安装插件。也可以将下载的插件放到jenkins主目录的plugins目录下,

在这里为了大家能快速安装插件,大家可以将我的plugins压缩包里的内容复制到你的jenkins

链接:https://pan.baidu.com/s/1NvVoJUsgK1Zc438kQ-kTCw?pwd=6666 
提取码:6666

5. 重启jenkins

安装插件后需要重启才能使用插件,在jenkins运行的命令窗口中输入 ctrl+c终止程序,然后再次运行

java -jar jenkins_2.346.war --httpPort=8899 

6.jenkins工具的配置

1) jdk的路径配置

一个springboot项目的jenkins持续集成配置_第1张图片

7.创建springboot项目的持续集成任务

1)  新建项目

一个springboot项目的jenkins持续集成配置_第2张图片

设置项目名称、任务类型(选择自由风格)一个springboot项目的jenkins持续集成配置_第3张图片

  

2)代码拉取

拉取代码的仓库路径:软件配置管理期末: 1111111111111https://gitee.com/zjf18664209766/project.git

一个springboot项目的jenkins持续集成配置_第4张图片

 点击 builid now,尝试一下,看能否正常拉取代码

一个springboot项目的jenkins持续集成配置_第5张图片

 一个springboot项目的jenkins持续集成配置_第6张图片一个springboot项目的jenkins持续集成配置_第7张图片

查看控制台详情

一个springboot项目的jenkins持续集成配置_第8张图片

3)  打包项目

 本项目是maven项目。我们可以用 mvn clean package命令来编译打包

但是需要注意的是,该命令需要在pom.xml文件所在路径执行,所以我们需要在编译打包前切换到该路径

一个springboot项目的jenkins持续集成配置_第9张图片

 jenkins添加一个 Excute windows batch command的步骤:一个springboot项目的jenkins持续集成配置_第10张图片

 输入windows 批处理命令如下,期中 .\表示当前路径,jenkins默认路径就是当前工作区目录:

cd  .\04开发\module_campus
mvn clean package

一个springboot项目的jenkins持续集成配置_第11张图片

 再次构建。确认可否构建出jar包

一个springboot项目的jenkins持续集成配置_第12张图片

4)启动jar程序

可以用 java -jar  xxxx.jar  --server.port=端口号  包的方式来启动程序

但是这样,构建过程将一直处于执行中的状态。所以我们可以增加 start /B  以后台方式运行

当然为了找到jar包,我们需要切换到jar文件所在的路径一个springboot项目的jenkins持续集成配置_第13张图片

excute windows batch command步骤,输入的内容如下

cd  .\04开发\module_campus\target
start /B cmd /c "java -jar  module_campus-0.0.1-SNAPSHOT.jar   --server.port=8181  "

具体含义如下:

cd命令用于切换当前目录到 当前目录的 子目录04开发\module_campus\target中

  • start:启动一个新的命令行窗口,以异步方式运行下面的命令。
  • /B:以后台模式运行新命令行窗口,即不在当前命令行窗口输出新窗口的信息。
  • cmd:运行cmd.exe(Windows命令行解释器)。
  • /c:运行完命令后关闭命令行窗口。
  • "java -jar  module_campus-0.0.1-SNAPSHOT.jar   --server.port=8181":要在新命令行窗口中运行的命令。这是一个Java命令,用于启动指定的jar文件,并设置应用程序的运行参数为--server.port=8181。

一个springboot项目的jenkins持续集成配置_第14张图片

 再次构建。确认构建是否成功,可否通过localhost:8181来访问程序

这时你会发现构建进度到2/3时, localhost:8181可以访问到系统,但构建完成后,又不能再访问了。

这是由于jenkins构建完成后,会终止掉所由它启动的程序。

5)解决jenkins构建结束后终止所有它启动进程的问题

为了解决该问题,在 Manage Jenkins -> Configure System -> Global properties 全局属性 页面 ,我们可以为jenkins添加一个全局BUILD_ID,值为allow_to_run_as_daemon

如下图所示,再运行配置,就不会出现应用服务不能访问的问题了 一个springboot项目的jenkins持续集成配置_第15张图片

此时若再次build now,程序可以正常访问。

 6)解决再次build now时,由于jar包正在运行,无法构建新包的问题

为了解决此问题,我们需要在构建之前终止应用程序,

之前我们启动程序时设置了端口8181,现在我们可以通过端口8181来找到进程,从而关闭它

一个springboot项目的jenkins持续集成配置_第16张图片

其中,输入的命令为:

FOR /F "tokens=5" %%P IN ('netstat -ano ^| findstr :8181') DO taskkill /F /PID %%P  || exit 0

具体含义是:

FOR /F "tokens=5" %%P IN ('netstat -ano ^| findstr :8181') :这个命令使用了FOR循环和netstat命令,通过管道符将netstat的输出传递给findstr命令,找到在本地8181端口上监听的进程ID。

DO taskkill /F /PID %%P :这个命令使用了DO关键字,执行taskkill命令,并强制结束找到的进程ID。

 || exit 0:这个命令是一个错误处理语句,如果上一个命令执行失败,则退出程序,否则返回0表示执行成功。
总之,该命令的作用是强制结束在本地8181端口上监听的进程。

6)再次build now,验证是否正常

构建后程序运行正常。再次构建,程序还是能正常运行,而且是最新的构建的jar包奥

你可能感兴趣的:(版本管理,jenkins,ci/cd,运维,spring,boot,持续集成)