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

时间:2019-12-23 14:46:09

标签: java jenkins jar continuous-integration continuous-deployment

我目前有一个詹金斯(Jenkins)工作,可以成功完成以下任务:

1:检查git repo中是否有新提交✓
2:克隆存储库✓
3:用Maven构建回购罐✓
4:将SCP罐子连接到远程服务器✓

第五步是运行jar,我目前正在做类似的事情:

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

从技术上讲,它可以运行jar,但是jenkins的工作尚未完成,我认为它正在等待退出代码。

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

1 个答案:

答案 0 :(得分:1)

您可以尝试使用screen命令:

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

摘自手册:

  

-d -m在“分离”模式下启动屏幕。这将创建一个新会话,但不会附加到该会话。这对于系统启动脚本很有用。