jenkins部署 java项目到远程 windows服务器

1、查看windows服务器是否有 ssh服务。

cmd模式,输入 ssh.如果报错就去安装ssh(可以去下 openSSH)

2、然后直接用自己的电脑就是客户端。用xshell,连这个远程服务器的IP。输入登陆这个windows 服务器!!的账号密码。就是微软账户登陆开机的。一般能连上。

3、配置jenkins。新建一个maven项目,里面git项目很简单,输入ssh git地址。然后远程推送,输入

remove prefix,source 等。

workspace/当前目录/{从这里开始}。

填写{从这里开始}.然后还有远程地址问题。

输入了c:/print。提示无法更改。

4、Remote directory 这个目录要传送war包到目标服务器的目录,这个很关键,这个适合系统管理-》系统设置中的Publish over SSH的Remote Directory拼在一起的,例如:

最后的结果是/usr/local/tomcat/webapps。

Jenkins的publish-over-ssh组件,Remote directory设置的路径(p1),都是相对于SSH server配置中的Remote Directory(p0,默认为账号家目录),即使p1写成绝对路径,也会拼接到p0后面。
ps:Jenkins Jenkins 2.263.3。
ps:在现场部署项目,用到jenkins配置自动部署,测试的时候发现路径不对,原来是绝对路径无效。记录一下。

Jenkins SSH Key 分组下的Passphrase、Path to key 、 Key 是秘钥登录方式需要配置的

这里用的用户名密码的方式登录

在ssh servers分组下配置ssh server项

Name:SSH Server项的名称Hostname:要操作的远程服务器的地址Username:要操作远程服务器的登录用户名Remote Directory:配置可操作的路径 /默认C盘 切换其他磁盘/E:

5、配置好SSH SERVER在这里配置好路径。

6、Remote directory,填写子路径。完美。成功解决。测试执行文件。

\1. 把程序变做Windows服务,然后shell中通过net start 命令启动服务

但这种做法需要改变程序或者依赖其他程序把当前的程序变为服务

\2. 通过Windows的计划任务来实现

创建一个启动程序的计划任务,然后通过以下命令来启动。

schtask /run /tn “/任务目录/任务名字”

7、运行bat项目

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-pnQOnNLG-1658908440911)(https://cdn.jsdelivr.net/gh/yasin4040/pic@main/img/image-20220727104237770.png)]

应该是不能用 @echo off,超时了。(我没用这个!!!)

@echo off
setlocal enabledelayedexpansion
:: 设置服务启动的端口
set port=10086
:: 根据端口查询已有服务并kill进程
for /f "tokens=1-5" %%a in ('netstat -ano ^| find ":%port%"') do (if "%%e%" == "" (set pid=%%d) else (set pid=%%e)echo !pid!
)
if NOT "!pid!" == "" (taskkill /f /pid !pid!
):: 设置目标目录、源目录、文件名。将jar复制到其他文件夹中
set tarDir=C:\ProgramData\Jenkins\.jenkins\workspace\jar\
set orgDir=C:\ProgramData\Jenkins\.jenkins\workspace\bmot\zpark-console\target\
set filename=zpark-console-v1.0.jar
if not exist %tarDir% (mkdir %tarDir%
)
copy %orgDir%%filename% %tarDir% > nul
if "%errorlevel%"=="0" (echo copy successfully
) else (echo Copy failed
):: 运行jar包
start java -jar %tarDir%%filename% --spring.profiles.active=local --server.port=%port%
exit

8、修改方案 做成服务

最终我的方案是索性将jar包制作为windows的服务,完美解决。

1、下载WinSW.NET4.exe这个工具(可以把jar包做成服务)。

  参考https://zhuanlan.zhihu.com/p/364778389比如这里做了一个test_server的windows服务

2、将stop.bat中的脚本改为

Net Stop test_server
3、start.bat中的脚本改为

Net Start test_server
完美解决了jar包在远程windows服务器下的部署问题,有问题的朋友欢迎评论和私信。 作者:我是老爆老爆是我 https://www.bilibili.com/read/cv14317175/ 出处:bilibili

9、sample.jar、sample.xml、winsw.exe

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ikELAimN-1658908440911)(https://cdn.jsdelivr.net/gh/yasin4040/pic@main/img/image-20220727105643641.png)]

<service>
<id>sample</id>
<name>sample</name>
<description>This service runs sample system.</description>
<executable>java</executable>
<arguments>-Xrs -Xmx256m -jar "%BASE%\sample.jar" </arguments>
<log mode="roll" />
<onfailure action="restart" />
</service>

sample install

10、修改maven 打包后的名称

finalName

11、改为服务

 sample install sample startsample stop

最终我的方案是索性将jar包制作为windows的服务,完美解决。

1、下载WinSW.NET4.exe这个工具(可以把jar包做成服务)。

  参考https://zhuanlan.zhihu.com/p/364778389比如这里做了一个test_server的windows服务

2、将stop.bat中的脚本改为

Net Stop test_server
3、start.bat中的脚本改为

Net Start test_server 作者:我是老爆老爆是我 https://www.bilibili.com/read/cv14317175/ 出处:bilibili

问题,无法install

12、完美解决api-ms-win-crt-runtime-l1-1-0.dll 丢失问题

是VC的一个程序:VC redit.exe
链接:https://www.microsoft.com/zh-cn/download/details.aspx?id=48145

下载时选择x86还是x64的根据自己系统的需求,安装成功就可以了。

删除服务

输入命令:sc delete DmhsServiceDM回车后即可删除该系统服务。

又一个不杀死进程(我也没用这个)

windows下使用jenkins执行bat或exe文件时不报错但是没有正常执行的解决方案陌生人_d67b
0.093
2021.10.26 16:16:38
字数 104
阅读 466
使用管理员模式打开命令行,执行下列语句"C:\Program Files (x86)\Jenkins\jre\bin\java" -Xrs -Xmx256m -Dhudson.lifecycle=hudson.liftcycle.WindowsServiceLifecycle -jar "C:\Program Files (x86)\Jenkins\jenkins.war" --htppPort=8080 --webroot="C:\Program Files (x86)\Jenkins\war"可以通过加入下列参数使得jenkins在构建完成后不会自动杀死进程-Dhudson.util.ProcessTree.disable=true -jar jenkins.war

cmd

/C 代表 /Close

/K 代表 /Keep的简写

cmd /c call D:\print-app-new-test\start.bat

13、执行成功。

最后把start和stop命令合并到一个bat命令。

因为不会cmd…很尴尬。

最后也成功启动,远程windows服务器上的服务也启动了

jenkins部署 java项目到远程 windows服务器相关推荐

  1. Jenkins部署Web项目到远程tomcat

    原网址:http://blog.sina.com.cn/s/blog_b5fe6b270102v7xi.html 之前讲到的是如何构建一个项目,并且将代码进行编译.打包,那么打包完成最后的结果就需要发 ...

  2. Jenkins部署Web项目到远程tomcat(通过jenkins插件)

    之前讲到的是如何构建一个项目,并且将代码进行编译.打包,那么打包完成最后的结果就需要发布到应用服务器,将项目部署成功.在之前的项目中我们采用的shell脚本来部署,下面讲解通过Jenkins部署web ...

  3. jenkins——部署java项目(2)

    2019独角兽企业重金招聘Python工程师标准>>> 部署java项目--创建私有仓库 java的项目是需要编译和打包的  编译和打包用maven完成,所以需安装maven  本次 ...

  4. (三)jenkins+bonobo git server+windows系统自动化部署springboot项目(远程windows自动化部署)

    前提 jenkins安装,参考:(一)jenkins+bonobo git server+windows系统自动化部署springboot项目(jenkins安装) 自动化部署,参考:(二)jenki ...

  5. jenkins部署java项目之小白的笔记

    首先感谢博主"爱自己"的分享,博主提供的资料对我助益良多,jenkins的各方面内容都写的很详细.博客地址:http://www.cnblogs.com/zz0412/p/jenk ...

  6. Eclipse利用Maven的插件部署web项目到远程tomcat服务器

    使用maven的自动部署功能可以很方便的将maven工程自动打包并且部署到远程tomcat服务器,省去一些繁琐的操作,节省大量时间. 我使用的tomcat版本是8.5,tomcat7和tomcat8都 ...

  7. jenkins部署java项目(五)

    一.web server安装jdk+tomcat其中jdk可以为openjdk,版本1.8 1.1 安装jdk环境 方式一:直接使用yum安装openjdk # yum install -y java ...

  8. Jenkins+Pipeline+Docker部署SpringBoot项目到远程服务器

    Jenkins部署 前言 Jenkins 安装 nginx配置 jenkins配置 Docker安装 项目部署 项目添加Dockerfile文件 Jenkins新建任务 使用Pipeline部署 结果 ...

  9. Jenkins部署SpringBoot应用到远程服务器

    Jenkins部署SpringBoot应用到远程服务器 使用SpringBoot.SpringCloud写后台服务,也引入了当下比较流行的微服务的理念,模块也比较多.为了方便前期测试和后期线上部署更新 ...

最新文章

  1. java封装的特性,java的三大特性(封装、继承、多态)
  2. 扩展Ext2类 Extending Ext2 Class
  3. SPS2003升级MOSS2007时SSO部件错误解决
  4. 非确定性算法_带你从不同角度了解强化学习算法的分类
  5. [Selenium] 基本使用
  6. WebIDE Initialization process
  7. IMDB情感分析数据集
  8. linux vmstat_Linux中vmstat命令指南
  9. 软件设计模式与体系结构 期末课后题
  10. Windows下安装VMware
  11. dopra linux 补全shell,HS8546V5光猫补全Shell 改华为原厂界面
  12. 敏涵控股集团董事长刘敏:品牌敏涵 用心做企业
  13. 程序员的发展之路一(转)
  14. leetcode 滑动窗口1
  15. 数字图像处理:数值图像的文件格式总结
  16. 图像标签 链接标签
  17. 查询tian01\tian02\tian03总和
  18. PHP实现棱形代码(PHP练习)
  19. 第七代英特尔处理器安装Windows7提示“不支持的硬件”的解决方法
  20. 推荐一个IPV6免费资源共享平台!—— 六维空间

热门文章

  1. Java毕设项目保险公司风险测评管理系统计算机(附源码+系统+数据库+LW)
  2. 愚(鱼)人节到啦!CRI鱼人语制作小讲堂开班!
  3. 华兴数控g71外圆循环编程_数控G71内外圆粗车循环指令教案
  4. 利用百度AI平台+pyqt5实现自动识别银行卡小工具
  5. windows防火墙设置_成都企业级网络防火墙
  6. BSC新晋蓝筹领导者:Euler.Tools实现了不起的数据可视化工具平台
  7. CSS基础二(选择器的使用)
  8. 十分钟搞懂Java限流及常见方案
  9. 揭开计算机神秘的面纱教学反思,《揭开计算机神秘的面纱》教学设计.doc
  10. 利用python爬虫可视化分析当当网的图书数据