Maven 一键部署到 SSH 服务器

这篇具有很好参考价值的文章主要介绍了Maven 一键部署到 SSH 服务器。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

简介

利用 Maven Mojo 功能一键部署 jar 包或 war 包到远程服务器上。

配置

在 maven 的setting.xml 配置服务器 SSH 账号密码。虽然可以在工程的 pom.xml 直接配置,但那样不太安全。
Maven 一键部署到 SSH 服务器,maven,ssh

<servers>
    <server>
        <id>iq</id>
        <configuration>
            <StrictHostKeyChecking>no</StrictHostKeyChecking>
        </configuration>
        <username>user</username>
        <password>pass</password>
    </server>
</servers>

在工程的 pom.xml配置:

<!--一键部署到服务器 SSH-->
  <plugin>
      <groupId>org.codehaus.mojo</groupId>
      <artifactId>wagon-maven-plugin</artifactId>
      <version>2.0.2</version>

      <executions>
          <execution>
              <id>upload-deploy</id>
              <!-- 运行package打包的同时运行upload-single和sshexec -->
              <phase>package</phase>
              <goals>
                  <goal>upload-single</goal>
                  <goal>sshexec</goal>
              </goals>
              <configuration>
                  <!-- 指定 SSH 账号 -->
                  <serverId>xxx-dell</serverId>
                  <!-- 要更新的 jar 包 -->
                  <fromFile>target/xxxx.jar</fromFile>
                  <!-- 服务器部署位置 -->
                  <url>
                      <![CDATA[ scp://192.168.1.3/data/xxx ]]>
                  </url>
                  <!-- 重启脚本 先切换目录,才能正确执行脚本 -->
                  <commands>
                      <command>cd /data/car-short;./startup.sh</command>
                  </commands>
                  <!-- 显示运行命令的输出结果 -->
                  <displayCommandOutputs>true</displayCommandOutputs>
              </configuration>
          </execution>
      </executions>
  </plugin>

如果出现“算法不正确”,那么要升级 wagon-ssh,网上都是 2.8 的,太旧了,这是最新的版本,在 pom.xml–build 下面:

 <!--一键部署到服务器 SSH-->
  <extensions>
      <extension>
          <groupId>org.apache.maven.wagon</groupId>
          <artifactId>wagon-ssh</artifactId>
          <version>3.5.3</version>
      </extension>
  </extensions>

如果出现下面异常,就是不能写入你用户目录。

Wagon Connection aborted - failed to write to known_hosts

解决方法:进入 CMD,在当前用户目录下(windows)新建目录.ssh
Maven 一键部署到 SSH 服务器,maven,ssh
这个不能直接新建目录,手动执行mkdir .ssh

另外如果还不行,则配置 maven 的setting.xml

<servers>
    <server>
        <id>iq</id>
        <configuration>
            <StrictHostKeyChecking>no</StrictHostKeyChecking>
        </configuration>
        <username>user</username>
        <password>pass</password>
    </server>
</servers>

执行不了命令

有些服务器会这样,连ls都执行不了,好像JAVA_HOMEPATH等环境变量都没有。这时候要这样子去执行

<command>cd /data/car-rental/car-short; bash -l -c "sh startup.sh"</command>

原因如下
Maven 一键部署到 SSH 服务器,maven,ssh文章来源地址https://www.toymoban.com/news/detail-677392.html

参见

  • Maven插件wagon-maven-plugin自动化部署Java项目到Linux远程服务器
  • maven wagon-maven-plugin 实现远程部署

到了这里,关于Maven 一键部署到 SSH 服务器的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • SSH连接问题解决方案:服务器无法启动SSH服务

    在处理服务器管理和远程连接时,SSH(Secure Shell)是一个常用的工具。然而,有时候我们可能会遇到SSH启动失败的问题,导致无法通过SSH连接到服务器。本文将介绍一些解决SSH启动失败的常见方法。 检查SSH服务状态 首先,我们需要确认SSH服务的状态。可以通过以下命令检查

    2024年02月04日
    浏览(45)
  • 【SSH】在VScode远程开发 使用SSH远程连接服务器

    转发自cpolar极点云的文章:【Vscode远程开发】使用SSH远程连接服务器 「内网穿透」 远程连接服务器工具有很多,比如XShell、putty等,可以通过ssh来远程连接服务器,但这用于写代码并不方便,可能需要现在本地写好代码后再将源代码传送到服务器运行、服务器上的图片也无法

    2024年02月08日
    浏览(36)
  • ssh远程连接服务器

    1.1 远程连接服务器简介 1 、什么是远程连接服务器? 远程连接服务器通过文字或图形接口方式来远程登录系统,让你在远程终端前登录linux主机以取得可操作主机接口(shell),而登录后的操作感觉就像是坐在系统前面一样。 2 、远程连接服务器的功能 分享主机的运算能力

    2024年02月12日
    浏览(39)
  • Windows系统服务器配置SSH服务

    打开【设置】-【应用】 选择【管理可选功能】 点击【添加功能】 选择【OpenSSH 服务端】,切记不是【OpenSSH 客户端】,然后点击下载即可 下载完成后会自动安装,安装成功会出现在列表中 找到命令提示符,以管理员身份运行 执行“net start sshd”命令,启动SSH服务 按下【w

    2024年02月13日
    浏览(31)
  • vscode远程ssh服务器且更改服务器别名

    目录 1、打开VS Code并确保已安装\\\"Remote - SSH\\\"扩展。如果尚未安装,请在扩展市场中搜索并安装它。 2、单击左下角的\\\"Remote Explorer\\\"图标,打开远程资源管理器。 3、在远程资源管理器中,单击右上角的齿轮图标,选择\\\"Configure SSH Hosts\\\"。 4、在弹出的文本框中,你可以添加你的远程

    2024年01月19日
    浏览(46)
  • SSH 无法连接远程服务器

    解决办法 1.进入服务器 执行 cat /etc/ssh/sshd_config查看SSH服务配置 2.执行命令 vi /etc/ssh/sshd_config,按下 i 编辑SSH服务配置文件,将参数 PasswordAuthentication 设置为 yes,或者在 PasswordAuthentication 参数前添加井号(#),按下 Esc 退出编辑模式,并输入 :wq 保存退出。 4.重启SSH服务 问题

    2024年02月12日
    浏览(40)
  • SSH秘钥登录服务器

    1.通过命令窗口 a. 打开你的 git bash 窗口 b. 进入 .ssh 目录: cd ~/.ssh c. 找到 id_rsa.pub 文件: ls d. 查看公钥: cat id_rsa.pub 或者 vim id_rsa.pub git–查看本机 ssh 公钥,生成公钥 方法1:自动将ssh密钥复制到服务器 用户端 :第一种方法是用户将其个人计算机的公钥复制到远程服务器上

    2024年03月11日
    浏览(37)
  • SecureCRT ssh链接服务器

    说明: 一般的密码方式登录容易被密码暴力破解。所以一般我们会将 SSH 的端口设置为默认22以外的端口,或者禁用root账户登录。其实可以通过密钥登录这种方式来更好地保证安全。 密钥形式登录的原理是:利用密钥生成器制作一对密钥——一只公钥和一只私钥。将公钥添加

    2024年02月09日
    浏览(24)
  • ssh服务器拒绝了密码

    SSH服务器拒绝了密码,请再输入一次(ubuntu) (1)打开终端。 (2)登录root权限。输入命令: su - root ,回车输入密码。 (3)打开ssh服务器的配置文件,输入: vi /etc/ssh/sshd_config   (4)找到# Authentication  ,按i键进入插入模式,将内容改成如图所示。   (5)完成之后,按

    2024年02月11日
    浏览(31)
  • 外网ssh远程连接服务器

    同一个局域网内远程ssh连接服务器,只需要知道服务器的IP地址就可以实现连接。但是在不同的局域网下,我们想要通过 外网远程连接服务器 (应用场景:在家远程连接公司的服务器,在家远程连接学校实验室的服务器…)应该如何实现呢? 原理: 通过 内网穿透 实现ssh远

    2024年01月25日
    浏览(47)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包