저는 우리의 주요 개발 언어가 자바 인 소프트웨어 회사에서 일합니다. 당연히, 우리는 Hudson을 연속 빌드에 사용합니다.이 빌드는 훌륭하게 작동합니다. 그러나 허드슨은 우리가 요구하는 다른 것들을 그렇게 잘하지 못합니다. 또한 Hudson 작업을 사용하여 바이너리를 배포하고, 데이터베이스를 새로 고치고,로드 테스트를 실행하고, 회귀 분석을 실행합니다. 빌드 의존성이있는 경우 (예 :로드 테스트에 DB 새로 고침이 필요함) 문제가 발생합니다.허드슨의 다른 빌드 매니저
빌드 의존성을 :
여기 허드슨은 우리가 정말 필요로하지 않는다는 한 가지 그것은 허드슨 작업에 개미 빌드에 대한 종속성을 구축 지원하지만,하지. 우리는 URL 호출 기능을 사용하여 Hudson 작업이 다른 Hudson 작업을 호출하도록합니다. 문제는 Hudson이 항상 200을 반환하고 작업이 완료 될 때까지 차단하지 않는다는 것입니다. 이는 호출하는 작업이 a) 빌드가 실패한 경우 및 b) 실패하지 않은 경우 b) 소요 된 시간을 알 수 없음을 의미합니다.
빌드의 동작을 지정하기 위해 쉘 스크립트를 사용하지 않아도 좋지만, 완전히 필요한 것은 아닙니다.
어떤 방향으로 좋을 것입니다. 아마도 우리는 Hudson을 올바른 방법으로 사용하지 않을 것입니다 (예 : 모든 빌드를 Ant 빌드로 빌드해야합니까?) 또는 원 클릭 배치,로드 테스트, 마이그레이션, DB 새로 고침 등을위한 다른 제품이 필요할 수 있습니다.
편집 :
명확히하기 위해 매개 변수에 따라 종속성이 달라질 수있는 빌드의 매개 변수가 있습니다. 나는. 때로는 DB 새로 고침없이 가끔씩 DB 새로 고침없이로드 테스트를 원합니다. 유감스럽게도, 조인 플러그인이 요구하는대로 각 매개 변수 조합에 대해 허드슨 작업을 만드는 것은 작동하지 않습니다. 때로는 다른 조합으로 인해 수십 개의 작업이 발생할 수 있기 때문입니다.
"빌드 종속성"의 의미를 설명 할 수 있습니까? 다른 허드슨 빌드를 시작하기 위해 허드슨 프로젝트를 구성하는 것은 간단합니다. 좀 더 자동적 인 것이 필요합니까? –
허드슨은 그것이받는 것만 큼 좋으며, 대안은 유능한 곳이 아닙니다. 그것으로 붙어있어. – skaffman
허드슨이 원하는 일을 수행하는 데 문제가있는 경우 설치 및 수행하려는 작업을 다시 검사 할 수 있습니다 (즉,로드 테스트 환경과 데이터베이스간에 데이터베이스를 공유하는 이유는 무엇입니까? 다른 빌드) –