IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> Windows下Jenkins部署SpringBoot项目 -> 正文阅读

[系统运维]Windows下Jenkins部署SpringBoot项目

使用Jenkins打包项目可以避免手动打包上传部署,节省了不少时间,有利于团队开发。我所部署的项目是SpringBoot,版本控制使用的是SVN

Windows下Jenkins的安装详见另一篇文章

Windows安装Jenkins_呆某人的博客-CSDN博客_windows 安装jenkins

设置Maven安装路径

Jenkins面板中选择Maven Jenkins,点击Global Tool Configuration

找到Maven安装,新增maven,填入maven的Name和MAVEN_HOME,这里我用的是我本地安装的maven,设置完点击保存即可。

安装Subversion和publish-over-ssh

这里我已经安装了Subversion Plug-in,没有安装的在可选插件里查找然后安装

安装publish-over-ssh

进入Manage Jenkins中选择Configure System

找到Shell,填入本地的cmd.exe路径,不然会报错

?

?

安装PowerShell Server 2016和配置Jenkins中的SSH Server

Powershell Server百度云链接如下:

链接:https://pan.baidu.com/s/1Q2o-83wSD0vTkqSLyGtJaA?
提取码:vfii?

设置开启自启动

选择当前Windows用户中的Administrators作为登录账户

勾选SFTP Features中两个选型,设置D盘的文件夹为上传的主目录

?

?在Manage Jenkins中打开Configure System

?找到Publish over SSH

?

找到SSH Servers,填入Jenkins要部署的那个服务器的别名、主机名IP、登录用户名、远程上传目录

?开始配置SpringBoot项目部署流水线

点击新建Item项目

?

?选择构建一个maven项目,输入项目名称

?选择Subversion,因为我用的是svn版本控制,填入项目url,svn的账户密码

?在构建环境中勾选Send files or execute commands over SSH after the build runs(在本地构建项目完成后发送文件或者执行命令到远程服务器),选择之前配置好的SSH Server,Transfer Set设置Source files(本地Jenkins的相对目录路径),Remove prefix(去除多余的路径前缀),Remote directory(远程目标上传目录路径)

路径详解:

(C:\Users\Administrator\.jenkins\workspace\测试环境后台包)此路径是Jenkins创建的部署流水线编译打包后的项目路径,(D:\root)此路径是远端服务器上传文件的根目录,也就是Jenkins本地包上传的根目录,Source files可以设置为test\lib\**,remove prefix可以设置为test\lib\,Remote directory设置为\lib,意思就是我要上传C:\Users\Administrator\.jenkins\workspace\测试环境后台包\test\lib文件夹下的所有文件,并且去除test\lib\前缀,最终上传至远端服务器的D:\root\lib目录下。

?

?Send files or execute commands over SSH after the build runs的另一个功能就是在远端服务器执行命令行,如下图所示执行windows的cmd命令,意思是第一步进入c盘,第二步进入C盘的C:\Users\Administrator\Desktop(也就是windows桌面),第三步执行test.bat脚本

C:
cd C:\Users\Administrator\Desktop
start test.bat

?test.bat(以D:\root\lib下所有jar包为基础,运行D:\root\test.jar,且将运行的项目进程名称命名为test)

@echo off
START "test" java -Dloader.path=D:\root\lib -jar D:\root\test.jar

流水线中还有一个功能就是前置步骤,在打包编译前执行的命令,这里也选择Send files or execute commands over SSH,可以对远端服务器执行命令,选择之前配置好的SSH Server,在Exec command中填入如下脚本。(脚本注解:进入C盘,进入C盘的C:\Users\Administrator\Desktop,执行killTest.bat脚本)。

C:
cd C:\Users\Administrator\Desktop
start killTest.bat

?killTest.bat(强制杀死进程名为test的进程)

@echo off
set char=test
echo char : %char%
for /f "usebackq tokens=1-2" %%a in (`jps -l ^| findstr %char%`) do (
		echo find process %%a %%b
		set pid=%%a
		set image_name=%%b
)
echo now will kill process : pid %pid%, image_name %image_name%

taskkill /f /pid %pid%
pause
exit

?

因为需要编译打包的是maven项目,所以在build模块中填写Goals and options(clean install package -Dmaven.test.skip=true)

最后点击保存

?

?

PS

在部署过程中遇到的问题如下,你如果遇到类似的问题,可以参考下

Jenkins安装maven插件_陈橙橙丶的博客-CSDN博客_jenkins安装maven插件

Jenkins系列教程七:Jenkins安装svn插件_懵懂无知的蜗牛的博客-CSDN博客_jenkins svn插件

Jenkins配置自动部署发送jar包到Windows服务器发版_飞来直去的博客-CSDN博客_jenkins发送文件到windows

Jenkins报错Cannot run program "sh"

Jenkins报错Cannot run program "sh" - 随波追逐 - 博客园

Jenkins安装SSH插件_阿甘兄的技术博客_51CTO博客

Jenkins上传文件到远程服务器失败 - 简书

.bat脚本中通过停止java进程_lsh1587719410的博客-CSDN博客_bat 停止java程序

?

  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2022-04-28 12:14:41  更:2022-04-28 12:16:25 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/25 21:19:22-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码