Jenkins构建windows server服务器 publish over SSH的相关问题
  BaWx0ORtsJFa 2023年11月19日 22 0

  大家好,干了十多年测试首次写博客,最近来到一家小团队公司,作为偏技术一些的测试,开始给公司搭建Jenkins构建平台,后续搞CI,由于系统的特殊性,服务器均在windos平台,下载,安装Jenkins的流程我就不赘述了,网上资料多的很,包括多版本jdk打包不同java代码项目,我装了两个版本jdk ,11支持我的jenkins运行,现在版本低了很多插件安装不了,及时11也有些低,后悔没安装更高版本,因为期间处理兼容性问题也处理了很久,另外就是8的版本了,毕竟现在大多数公司的项目还是采用旧版本的jdk,我们这也不例外,废话结束。

  原规正传,搭建步骤简述下,我在一台测试服务器安装的虚拟机装的linux系统,手动安装的jenkins,没有采用docker,安装各种插件,包括两台服务器开发和测试服务器的物理机上的SSH(windows server)要确保也安装了ssh server服务并开启,可以用命令手动登录确认下,能通,后期就是配置jenkins中的项目了,拉代码,mvn打包,确认了jenkins中的工作空间中打出了jar包,下一步就是配置中的Post steps中,添加 send files or execute commands over ssh 做打包后的jar包同步操作,嘿!好家伙这就整整弄了小两天,网上找各种教程,其中一篇看到https://blog.51cto.com/u_14316134/6401439 这位兄弟的文章,那我想我也弄流水线吧,看了一上午教程,感觉学起来成本较大,格式写起来也总报错,实在没兴趣,就又开始研究UI界面上的配置,在2023年11月7日下午2点终于调通了,有几个点我详细说下:

1、jenkins中的系统配置SSH Server中添加远程的windows Remote Directory这个远程文件路径报错的问题,linux与windows通过ssh交互确实不是比较好的选择,但是填写这个目录,在服务器新建一个文件夹填写到这,点击测试连接的时候始终报错,当时突然想起来看其他文章偶尔看见要求设置SSH的项目目录,否则就是c盘用户下.ssh文件夹下的路径(C:\Users\Administrator\下),我测试这个路径的时候输入了C:\Users\Administrator\AppData  中的AppData竟然没有报错,为了验证我又手动创建的其他目录依然没有报错,说明这步走通了(保存好远程目录)

Jenkins构建windows server服务器 publish over SSH的相关问题_jenkins部署windows

Jenkins构建windows server服务器 publish over SSH的相关问题_ssh部署_02


2、上一步配置成功我感觉又有希望了,就看构建里边的配置了,拉代码,打包都成功,最后通过publish over ssh 传输文件的时一直是 0个,这也是我一开是要处理的这个问题,这个问题有两点需要注意的是服务器的文件路径要对,不对的话也不报错,但是传输文件肯定是0,我最后用    **/target/项目包名.jar     通配我项目的文件竟然传输成功了 只不过会把项目的目录一并复制过去(这样启jar包的时候还得进入目录中,后期优化移动出来还是直接命令后带上jar包的一串路径,不过这不是问题);

Jenkins构建windows server服务器 publish over SSH的相关问题_文件路径_03

注意事项:也是容易失败的点,jenkins的系统配置中的ssh目录不用写斜杠或者要写反斜杠\AppData,他的二级目录在项目的构建的配置中,项目文件路径要用正斜杠/codeDe

Jenkins构建windows server服务器 publish over SSH的相关问题_服务器_04

Jenkins构建windows server服务器 publish over SSH的相关问题_jar包_05

Jenkins构建windows server服务器 publish over SSH的相关问题_服务器_06

最后jenkins构建成功的传输了jar包!如有问题可以留言之类的,互相学习!互勉!

Jenkins构建windows server服务器 publish over SSH的相关问题_jenkins部署windows_07


在补充下,我们这里是两台服务器dev和test,jenkins在test服务器里的一个虚拟机(linux)上安装的,开发的代码前后端都在dev服务器上,jenkins去拉dev的代码,打包,构建推jar包和前端的dist文件目录分别到dev和test服务器上,然后触发脚本杀端口在启动服务,杀端口和启动服务涉及到,dontkillme的关键字,否则jenkins会把进程都杀掉,导致启动不了项目,这个网上文章虽然多,但是能描述详细的不多,这是关于windows上的构建部署问题,后期有时间在记录下这个杀进程相关博客;

【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月19日 0

暂无评论

推荐阅读
  Yoru5qB4TSKM   2023年12月10日   39   0   0 服务器重启IP