在远程服务器上通过SSH启动和停止Tomcat

时间:2019-03-29 08:36:13

标签: ubuntu ssh gitlab-ci tomcat9

我有一个在Ubuntu计算机上运行的Tomcat Web服务器。如何从gitlab-ci通过SSH重新启动服务器?

我正在通过gitlab-ci上的ssh将各种war&jar文件部署到服务器,并且在某些情况下需要重新启动Tomcat服务器。

我尝试使用tomcatctl命令:

> ssh user@remote_ip tomcatctl stop
> bash: tomcatctl: command not found

> ssh user@remote_ip bash "tomcatctl stop"
> bash: tomcatctl: No such file or directory

我还尝试编写shell脚本并通过ssh调用它:

#!/bin/bash
tomcatctl stop
> ssh user@remote_ip './stopTomcat.sh'
> ./stopTomcat.sh: line 2: tomcatctl: command not found

看起来它正在客户端而不是远程服务器上执行远程脚本。 当我在服务器上打开终端时,所有命令和脚本均正常运行。

1 个答案:

答案 0 :(得分:-1)

这主要取决于您的tomcat的安装方式及其版本。

遵循此page,您可以安装tomcat 9并使用systemd配置服务。

在gitlab-ci.yml上,只需使用以下命令远程停止服务:

stop_tomcat_job:
  script:
    - ssh tomcat@${SERVER} "sudo systemctl stop tomcat" > /dev/null 2>&1