2012-09-18 8 views
1

나는 허드슨에 2 개의 프로젝트가 있으며, 나는 그들 사이에 차이를 만들고 싶다. 나는 그들의 이름으로 그것을 할 수 있지만 허드슨에서는 이것을 사용할 수 없다. "이 빌드는 매개 변수화되었습니다."에서 문자열 매개 변수를 사용하려고했지만 "특성"에 "앤트 호출"에서 사용할 수 없습니다. myparam = $ {env.BSYST}와 같이 보냈습니다. BSYST는 문자열 매개 변수에 제 이름을 붙였습니다. 빌드가 끝나면 $ {env.BSYST}이이 값 대신 "이 빌드에는 매개 변수가 필요합니다 : BSYST :"라고 쓰여집니다. 무엇이 잘못 되었는가 또는 내 프로젝트의 이름을 보내는 방법 및 build.xml에서 "if"를 작성하고 다른 작업을 수행하는 다른 해결책을 제공 할 수 있습니까?매개 변수

감사합니다.

답변

0

허드슨의 매개 변수는 단지 로컬 환경 변수입니다. 변수를 다른 소스의 매개 변수로 가져올 수 없습니다.

그러나 허드슨의 작업 구성 영역 내에 빌드 단계를 추가 할 수 있습니다. 빌드 파일을 지정할 수있는 Ant 및 Maven 대상을 호출 할 수있는 옵션이 있어야합니다 (최소한 Jenkins에서 수행). 적어도 셸을 실행할 수 있습니다. 셸 내에서 SVN 작업 복사본은 범위 내에 있으며 읽을 수 있습니다. 즉, build.xml을 읽고 구문 분석 할 수 있습니다. 이것은 일반적인 쉘이므로 변수를 반향시키고 싶다면 그렇게 할 수 있습니다.

+1

답변 해 주셔서 감사합니다. 나는 문제를 해결했다 : "트리거는 다른 프로젝트의 빌드를 매개 변수화했다"에서 포스트 빌드 액션에서 미리 정의 된 매개 변수를 넣었고 "빌드 할 프로젝트"라는 이름의 모든 프로젝트에 보내진다. –

관련 문제