Jenkins ssh windows 部署 java程序

news/2025/3/15 18:29:34/

版权说明: 本文由博主keep丶原创,转载请保留该段内容在文章头部。
原文地址: https://blog.csdn.net/qq_38688267/article/details/130203785

文章目录

    • 前言
    • 实现步骤
      • 1. windows下载安装ssh
      • 2. windows 安装 winsw
        • 2.1 下载 winsw
        • 2.2 配置winsw
        • 2.3 安装服务
      • 3. 配置jenkins windows ssh
      • 4. 配置jenkins job

前言

  由于项目需求,要在windows上部署个java程序并实现自动化部署。这一块坑很多,作者也是捣鼓了大半天才搞定。不多废话,我们直接进入正题。

实现步骤

1. windows下载安装ssh

  要实现ssh 连接到windows需要安装Openssh工具,下载地址如下:

  • 23年4月最新win64版本:https://download.csdn.net/download/qq_38688267/87698992
  • git仓库地址:https://github.com/PowerShell/Win32-OpenSSH/releases

下载msi文件,双击运行即可,ssh 默认端口22,用户密码就是windows的登录用户密码。

2. windows 安装 winsw

  windows上运行jar包有个巨坑就是jenkins任务执行完成后,这个命令就会被kill掉,目前作者的实现方式是将java -jar xxx.jar命令安装成服务,这样就不会有这个问题。
  当然也可以通过docker容器启动等方式解决,这里就不做展开介绍了。

2.1 下载 winsw

  • 23年4月最新win64版本:https://download.csdn.net/download/qq_38688267/87699012
  • git仓库地址:https://github.com/winsw/winsw/releases

2.2 配置winsw

  将winsw.exe移动到工作目录并,在同目录下创建sample.xml,内容为:

<service><!-- 注意这里的值要与外面xml文件名对应 --><id>sample</id><name>sample</name><description>This service runs sample system.</description><executable>java</executable><!-- 这里的samle.jar改成自己的jar包名 --><arguments>-Xrs -Xmx256m -jar "%BASE%\sample.jar" </arguments><log mode="roll" /><onfailure action="restart" />
</service>

2.3 安装服务

# cd 到winsw.exe 所在目录
# 执行以下命令即可
winsw.exe install
# 安装完成后,打开“服务”可以看到状态为未启动的名为"sample"的服务。
# 如果安装失败,则将winsw.exe 改名成与xml同名,即sample.exe再试。

3. 配置jenkins windows ssh

   在jenkins系统管理->系统配置中,按照下图配置即可(需要jenkins下载ssh插件才有)。
在这里插入图片描述

4. 配置jenkins job

  前面配置仓库地址和打包就不赘述了,这里主要介绍打包之后的步骤,如图所示,需要分两步进行,第一步是关闭sample服务并删除之前的jar包,第二步是传输jar包并启动服务。
  之所以分两步是因为如果存在windows上存在这个jar包,传输就会失败。
在这里插入图片描述

至此,配置完成!如果配置过程中出现了什么问题,可以留言或私聊沟通。


http://www.ppmy.cn/news/46455.html

相关文章

Apollo配置中心2.0版本详解

目的 部署一个单节点的Apollo配置中心,且包含dev和pro环境的配置。 需要部署的服务 Portal Service, Admin Service, Config Service(包含Meta service 和 Eureka) 架构图 部署图 部署过程: 数据库脚本: portaldb: https://github.com/apolloconfig/apollo/blob/mast…

Spring Boot + Spring Security基础入门教程

Spring Security简介 Spring Security 是一个功能强大且高度可定制的身份验证和访问控制框架。Spring Security 致力于为 Java 应用程序提供身份验证和授权的能力。 Spring Security 两大重要核心功能&#xff1a;用户认证&#xff08;Authentication&#xff09;和用户授权&am…

Docker常用命令详解,有这些足够了

首先启动类 启动docker&#xff1a;systemctl start docker 停止docker&#xff1a;systemctl stop docker 重启docker&#xff1a;systemctl restart docker 查看docker状态&#xff1a;systemctl status docker 开机自启动&#xff1a;systemctl enable docker 查看docker概要…

Day944.度量指标 -系统重构实战

度量指标 Hi&#xff0c;我是阿昌&#xff0c;今天学习记录的是关于度量指标的内容。 很多时候在研发过程中&#xff0c;都习惯性地用“拍脑袋”的方式来看待一个事情。例如这个代码写得不好、这个自动化测试覆盖不充分、版本的发布频率太差了等等。往往只知道哪里有问题&…

Golang每日一练(leetDay0037) 二叉树专题(6)

目录 109. 有序链表转换二叉搜索树 Convert-sorted-list-to-binary-search-tree &#x1f31f;&#x1f31f; 110. 平衡二叉树 Balanced Binary Tree &#x1f31f; 111. 二叉树的最小深度 Minimum Depth of Binary Tree &#x1f31f; &#x1f31f; 每日一练刷题专栏 …

【Socket】之TCP数据报套接字

1. 介绍下API 1.1 ServerSocket API 这是创建TCP服务端Socket的API。 构造方法方法说明ServerSocket(int port)创建一个服务端流套接字Socket&#xff0c;并绑定到指定端口 普通方法方法说明ServerSocket.accept()开始监听指定端口&#xff08;创建时绑定的端口&#xff09…

佳明手表APP开发系列01——简单汉化英文版

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言一、佳明手表APP开发过程简介二、做个简单的个性化——在英文版写几个汉字1.MonkeyC 图形处理2.获得汉字点阵字模数据3.MonkeyC 汉字输出函数 总结 前言 佳明手…

Su+ELK实现网络监测(2)——ELK安装与配置

ELK安装配置文档 一、环境准备基础配置 二、Jdk1.8环境部署1、安装jdk2、编辑环境变量 三、ElasticSearch部署1、安装2、修改文件所有者 3、修改配置文件4、启动 四、elasticsearch-head部署&#xff08;可不安装&#xff0c;跳过&#xff09;1、nodejs安装2、head插件安装3、修…