저는 Hudson을 종속 서비스가없는 Tomcat을 통해 Windows 서비스로 실행하고 있습니다. 작업의 마지막 빌드 단계는 일부 Java 코드를 호출하는 배치 파일입니다. 이 코드는 PostgreSQL의 명령 행 도구 인 psql (Runtime.exec()을 통해)을 사용하여 로컬 시스템에 데이터베이스를 작성하고 결국 일부 테스트를 실행합니다.Runtime.exec에서 Hudson 작업이 중단됩니다.
작업이이 시점으로 진행된 다음 데이터베이스를 만들지 않고 무기한 정지됩니다. 명령 줄에서 배치 파일을 실행하면 완벽하게 작동합니다. http://hudson.gotdns.com/wiki/display/HUDSON/Spawning+processes+from+build이 적용되는 것으로 생각하지 않습니다. 스폰 된 프로세스가 실행을 시작한 것처럼 보이지는 않지만 새로운 문제이므로 잘못된 것이라면 알려주십시오.
편집 @anjanb는 : 배치 파일의 유일한 목적은 자바 코드를 호출하는 것입니다, 유일한 사용자 입력 내가 직접 빌드의 콘솔 출력을 통해에가는 볼 수있는 명령 줄 인수로 전달되고있다.
프로세스 탐색기는 psql이 시작되고 있지만 분명히 실행되지 않고 있습니다. psql이 제공하는 첫 번째 명령은 새 데이터베이스를 만드는 것이지만 아직 일어나지 않습니다.
편집 2 : 허드슨 사용자 메일 링리스트에서 몇 가지 팁을 얻었으니 월요일에 시도하고 다시보고하겠습니다.
편집 3 : 자바 코드가 이미 출력 스트림을 소비하고 있었기 때문에 코드를 개발할 때이 기사를 사용했습니다. 무슨 일이 일어나는지 알 수 없으므로 psql과 Runtime.exec()에 의존하는 대신 JDBC를 사용하여 데이터베이스를 만드는 코드를 재개발합니다.
그건 훌륭한 리소스입니다. 코드 자체를 작성할 때 사용했습니다. 교수형에 처해 있었지만 적어도 지금은 DB를 만들기 시작했습니다. – rjohnston