Jenkins在工作中启动JBOSS并继续

时间:2014-04-08 10:03:53

标签: jboss jenkins hudson

我有詹金斯的工作,我想

- build my application 
- start the jboss via batch
- sleep some time to wait for the jboss
- do some junit tests
- stop the jboss

我遇到的问题是jboss启动后工作没有进行。它显示了完整的jboss日志,并且只是不断刷新此日志。 因此,睡眠和junit测试永远不会被执行。

批量调用即时使用:

cmd.exe /C F:\jboss-5.1.0.GA-jdk6\bin\run.bat -c Servername -Djboss.service.binding.set=ports-05 -Djboss.bind.address=0.0.0.0

我不能使用jenkins jboss管理插件,因为我必须为这个特定的工作设置java_opts。

知道如何在没有在jenkins控制台中显示日志的情况下启动Jboss吗?

编辑:

感谢您的回答,但是电话/开始对我来说也不起作用。

我的工作解决方案: (不好,但它有效,只是认为我应该分享它)

  • 我创建了第二个Jenkins作业,它通过上面的批处理调用启动了JBoss。
  • 然后将此作业更改为远程触发。 “触发器远程构建”
  • 现在我改变了我的第一份工作,在构建步骤“执行批处理命令”中触发第二项
    • wget --spider build_trigger_url

所以我的工作现在正在这样做:

  • 构建我的应用程序
  • 通过wget触发jboss jenkins的工作
    • 此第二份工作现在也在jenkins上运行,直到手动关闭
  • 睡一段时间,直到jboss开始
  • 执行junit tests
  • 停止jboss
    • 通过jboss管理插件,这会杀死第二份工作

1 个答案:

答案 0 :(得分:0)

您应该将其更改为cmd.exe /C call F:\jboss-5.1.0.GA-jdk6\bin\run.bat <whatever params>

当您触发.bat时,它会将控制传递给它并运行它直到.bat终止。相反,您需要生成另一个进程才能运行.bat。这是通过call命令完成的。