从 Jenkins Build Job 将 Jar 部署到远程服务器

Deploy Jar to remote server from Jenkins Build Job

我目前有一个 Jenkins 作业可以成功执行以下操作:

1:检查 git 回购中的新提交 ✓
2: 克隆回购 ✓
3: 使用 maven 构建 repo jar ✓
4: scp jar 到远程服务器 ✓

第 5 步是 运行 罐子,我目前正在做类似的事情:

nohup ssh user@remotehost "java -jar some.jar" > /dev/null 2>&1 

这在技术上可行,它会 运行 jar,但是 jenkins 工作没有完成,我假设它正在等待退出代码。

我希望实现的是,通过 ssh 向远程服务器发出命令,而无需等待响应或输出。我不确定这是否可行,有更好的方法吗?

您可以尝试使用 screen 命令:

screen -d -m ssh user@remote "java -jar -Dserver.port=9090 ~/jar.jar"

来自手册:

-d -m Start screen in "detached" mode. This creates a new session but doesn't attach to it. This is useful for system startup scripts.