2009-10-02 6 views
1

허드슨 작업을 수행하여 .bat 스크립트 파일을 시작하고 Jonas 응용 프로그램 서버와 다른 몇 가지 작업도 실행합니다..bat에서 독립 프로세스 시작하기

슬레이브의 허드슨에서 스크립트가 제대로 시작되면 내 애플리케이션 서버가 시작되지만 허드슨 작업이 종료되면 애플리케이션 서버가 종료됩니다. 이것은이 프로세스 중에 시작된 모든 프로세스가 http://wiki.hudson-ci.org/display/HUDSON/Spawning+processes+from+build에서 설명한 것처럼 동일한 파이프 (stdin/sdtout/stderr)를 공유하기 때문입니다.

당신이 이미 이해했듯이, 이것은 내가 정말로 원하는 것이 아닙니다! 사실 저는 위에서 설명한 응용 프로그램을 테스트하기 위해 설명한 바로 다음에 실행되는 다른 허드슨 작업이 있습니다. 따라서 허드슨 작업이 종료 된 바로 그 순간에 내 응용 프로그램 서버가 종료 되어도 내 테스트는 전혀 실행되지 않습니다 ...

어떻게 해결할 수 있습니까? 위의 링크에서

이 문제는 엄격 그것은 내가 명령 줄에서 동일한 스크립트를 실행하는 경우 문제가 전혀 발생하지 않습니다 스크립트를 실행 허드슨이 있다는 사실에 연결되어 ...

그들은 Windows에서 작업을 예약 할 수있는 "at"명령을 사용하도록 제안합니다. 허드슨에서 시작했기 때문에이 솔루션을 내 .bat 스크립트의 수정을 의미하므로 실제로 사용하지 않으려합니다.

  • 제 생각에는 .bat 파일에 "독립적 인 프로세스에서 내 응용 프로그램 서버를 시작하려고합니다."라고 말할 수있는 방법이 있다고 가정합니다. 너희들은 이것을 어떻게하는지 안다?
  • 아마도 허드슨이이 문제를 해결할 수 있을까요? 허드슨의 부하들은 어떻게 알고 있니?

도움을 주셔서 감사합니다.

답변

2

환경 변수 BUILD_ID를 지우는 것이 가장 좋습니다. 빌드 작업 후에 정리할 때 허드슨은 느린 프로세스를 없애기 위해 각 프로세스의 BUILD_ID 환경 변수를 살펴 본다. 따라서 환경 변수를 지우면 허드슨은 프로세스를 죽이지 않습니다.

+0

입력 해 주셔서 감사합니다! 당신 프로필에 허드슨 전문가가 있다는 것을 알았습니다.) BUILD_ID 변수를 지워야합니까, 아니면 링크 http://wiki.hudson-ci.org/display/에서 본 것처럼 BUILD_ID = dontKillMe로 설정해야합니까? HUDSON/산란 + 프로세스 + 빌드 +에서? – reef

+0

Hudson 버그가 https://hudson.dev.java.net/issues/show_bug.cgi?id=3105에보고되었습니다. – reef

+0

dontKillMe에 대한 HUDons의 BUILD_ID 환경 변수 설정은 정상적으로 작동하지만보고 된 버그 (위 링크)에서 설명했듯이 이는 일시적인 해결책입니다. 일단 버그가 수정되면 해결책을 게시 할 것입니다. 감사합니다. – reef

2

START 명령을 사용하여 응용 프로그램 서버를 시작하십시오. This 사이트에서는 몇 가지 사용 예를 제공합니다. 올바른 매개 변수에 대한 몇 가지 실험을 수행해야하지만 다음과 같아야합니다.

START "appServer" "[path to your application server]\applicationServer.exe" 
+0

이 특정 상황에서이 솔루션은 모든 것이 허드슨의 버그에 연결되기 때문에 충분하지 않습니다 (이전 주석 참조). 그러나 도청이 아닌 상황에서 이것이 해결책 인 것 같습니다.) 고마워요! – reef

+0

다시 말해 보겠습니다. 여기에 버그가 없으므로 환경 변수를 지우는 것이 문제를 해결하기위한 의도 된 방법입니다. 이슈 3105는 개선 요청입니다. –