jenkins 布署环境:jenkins.war + tomcat springboot maven项目。打成jar包之后,调用服务器端的a.sh脚本,将jar包归结至一处,关闭正在运行的服务,然后调用专门的b.sh start srvname这样进行启动。 在服务器 a.sh 是完全可以将服务启动完成的。 使用jenkins构建之后,服务启动完成后,jenkins会将所有的有服务kill掉。 已经尝试过方法 : 1,java -Dhudson.util.ProcessTree.disable=true -jar jenkins.war 这种方法。因为是在TOMCAT中启动的,所以修改catalina.sh JAVA_OPTS的参数实现此方法 结果无效。 2, 在execute shell中加入BUILD_ID=DONTKILLME 已经尝试无效 3, 有资料说修改 /etc/sysconfig/jenkins 这种方式也不靠谱 4,临时改变BUILD_ID值,也无效果
第一个问题,springboot有没有后台启动,第二个jenkins不会kill掉进程的,应该是你脚本的问题啊######回复 @joker游戏 : 恩,接下来,我也打算整合docker了。哈哈。######回复 @林纳斯脱袜子 : 我猜的是jenkins没有正确启动脚本,或者因为权限限制了jenkins操作,或者是执行目录的变更导致shell语句失效,各个排查,或者贴出你的shell,我这边是用jenkins整合docker的,不会出现你这种情况######谢谢,脚本没有问题。自己单独执行脚本,是可以完全启动的。######export BUILD_ID=dontKillMe######回复 @simon西门 : 你把执行脚本和上传的,分开两个SSHServer处理就可以了######回复 @林纳斯脱袜子 : 后来怎么解决的,我也遇到了。######谢谢,试了不可。######请教一下,如何解决的######请教一下这么解决的,我也遇到同样的问题,无法解决,我就是按照先上传,然后再执行脚本的,也是两个sshserver处理的,怎么就不行呢######回复 @林纳斯脱袜子 : 还有一个原因,我的jenkins版本不支持在ssh server中执行脚本######回复 @林纳斯脱袜子 : 我现在用ssh server远程传输文件,然后执行post steps执行shell脚本,就是ssh site执行shell脚本,遇到问题跟你描述一样,无法解决。。。######把上传和执行脚本分开两个步骤处理就可以了。实测有效。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。