我有一个在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
看起来它正在客户端而不是远程服务器上执行远程脚本。 当我在服务器上打开终端时,所有命令和脚本均正常运行。
答案 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