jenkins 发布服务到 windows服务器

1.环境准备

1.1 这些就不过多描述了,可以参考我的另一盘文章部署到linux。

jenkins 发布服务到linux服务器-CSDN博客

1.2 需要再windows上安装openssh

地址:Releases · PowerShell/Win32-OpenSSH · GitHub

到windows上执行安装,可以里面cmd命令行,执行 services.msi查看服务是否安装成功。

1.3 只有安装了openssh才能在jenkins中的系统配置里面创建关于windows服务器的publish over ssh,具体的可以参考我的另一篇文章,和创建linux服务器的一模一样。唯一要注意的就是在配置remote directory 时,我配置的时d盘根目录,然后一定是我下面截图的这种情况,反斜杠别写成windows的形式的,要不连不上windows,当然你可以不配置到d盘的根目录,可以继续加。

2.jenkins配置

这里一些通用的配置就不说了,思想和部署linux的一样,先关闭服务,打包,发包,启动服务,所以这里直接贴几个windows的批处理脚本,主要是关于启动,停止的。

2.1 关闭服务脚本 stop.bat

bash 复制代码
@echo off
set port=5861
for /f "tokens=1-5" %%i in ('netstat -ano^|findstr ":%port%"') do (
    echo kill the process %%m who use the port 
    taskkill /pid %%m -t -f
    goto start
)
:start

2.2 启动服务脚本 start.bat

bash 复制代码
java -Dspring.profiles.active=prod -jar D:\zxh\nmtakewater\nmtakewatermain-0.0.1-SNAPSHOT.jar   > D:\zxh\nmtakewater\main.log 

2.3 前端解压脚本 front-zip.bat,前提要安装了winrar软件,利用这个软件解压前端的压缩包。

这里稍微说一下,这个脚本里面包含了解压包,删除包,重命名,这些是我自己的实际情况,你可以根据自己的要求配置,当然不在我这里的脚本你就得自己找了,反正就那几个意思。

bash 复制代码
@echo off
set WinRAR="C:\Program Files (x86)\WinRAR\WinRAR.exe"
set log_name="\log.txt"
set log=%cd%%log_name%
for /r . %%a in (*.rar *.zip *.Z *.gz) do ( 
    cd "%%~pa" 
    rem auto replace files that exists
    rem x : extract
    rem -o+ : cover mode
    rem -ilog : error msg to file
    rem -inul : do not display error window
    rem -iback : run in the background
    rem -mt : thread num
    %WinRAR% x -o+ -ilog%log% -inul -iback -mt12 "%%a"
    rem last command run successfully
    if %errorlevel% == 0 (
        rem delete compress file
      )
)
cd D:\jiachao\web
rmdir /s /q waterIntake
ren dist waterIntake

3.打包之后在windows上执行启动脚本不起作用的问题

这个重点说下,我不知道具体的原因哈,但是现状就是在打包之后,将包传到windows上后,执行后续的启动、解压等命令不起作用。换衣是jenkins兼容windows这块做的不好。

解决方案:

点击控制面板-》管理工具-》任务计划程序-》创建任务-》填写名称-》选择批处理脚本

创建完成之后,在jenkins里面的exec command 配置执行,这样就可以在打包之后,执行相关命令了。

schtasks /run /tn "任务名称"

4.关于windows路径中的反斜杠问题。

在jenkins里面执行的脚本涉及路径时,一定要注意这个和linux一样的是 "/" 不是"\"。

相关推荐
by209991 小时前
Linux GCC/G++ 编译与 Makefile 构建
linux·运维·服务器·经验分享
螺丝钉tina2 小时前
[Playwright][08] Upload 模块自动化:如何设计真实业务测试用例?
运维·自动化·测试用例
迪菲赫尔曼2 小时前
【基础篇 12】把环境与源码接起来:检查 GPU,再安装服务器上的项目
运维·服务器·开发语言·人工智能·python·yolo·目标检测
cq林志炫2 小时前
两个Linux服务器之间同步文件
linux·运维·服务器
yyuuuzz2 小时前
云服务器安全组规则优先级的机制记录
运维·服务器·网络·安全·阿里云·aws
KaiwuDB2 小时前
KaiwuDB 运维实战06:数据库备份与恢复:从理论到实战
运维·数据库·时序数据库·kaiwudb
知已难寻3 小时前
01 · OpenStack的认证管理 Keystone
运维·服务器·云原生·云计算·openstack
ai_xiaogui4 小时前
私有化部署大模型实战:PanelAI 一键搭建、Token 计费与多用户隔离
运维·私有化部署·大模型部署·大模型 token 计费·api key 统一管理·多用户实例隔离·应用市场一键部署
企鹅侠客4 小时前
Linux CPU 负载平均值(Load Average)详解:从原理到实践
linux·运维·服务器·服务器负载
易点云徐源4 小时前
HP 暗影精灵 PRO 16 安装双系统后,开机直接进入 Windows,按 F9 才能进入 Ubuntu:GRUB 菜单不显示的处理方法
linux·运维·ubuntu