2012-05-21 3 views
2

현재 젠킨을 사용하여 의도 된 릴리스 조건에서 응용 프로그램을 배포하고 있으며 배포 된 시스템에서 루트 사용자로 JUnit 테스트를 실행해야합니다. 응용 프로그램에는 루트에서만 액세스 할 수있는 특정 파일이 있으므로). 대신이 "개미 호출"테스트를 실행하는 단계를 구축 사용빌드 단계 : "앤트 호출"대 "쉘에서 앤트 실행"

, 나는 젠킨스 사용자 이후

sudo ant -file build.xml -D.... test 

... 1, 단계를 구축 "쉘을 실행"뭔가 등으로부터는 sudo를 사용하여 개미 실행하고 이 작업을 수행하는 데 필요한 루트 권한이 있지만 위에서 언급 한 파일에는 액세스 할 수 없습니다.

이렇게하면 잘못된 권한으로 작업 영역에 폴더가 만들어 지지만 "셸 실행"에서이 문제를 해결합니다.

모든 것이 괜찮은 것 같지만 약간의 해결 방법이 있습니다.

제 질문은 다음과 같은 방식으로 개미를 실행하는 데 불리한 점이 있습니까? 빌드 단계 인 "invoke ant"와 비교하면 누구든지이 작업을 수행하는 더 좋은 방법을 볼 수 있습니까?

+0

나는 윈도우에 대한 걱정이 없다고 덧붙여 야했다. Linux (Rhel 6)에 대한 테스트 용입니다. 모든 입력에 감사드립니다. 몇 명의 전문가가 약간의 의견을 제시하면 조금 더 안전하다고 느낍니다. 건배에 대한 감사합니다. – Englishbob

답변

0

젠킨스, 당신은이 빌드의 콘솔 출력을보고 확인할 수 있습니다 쉘 명령 "개미를 호출"변환, 그래서 당신은 당신의 문제가 당신이 말하는 방법을 해결 한 경우 나는 그것이 같은

+1

감사합니다. 예, 비슷한 일을 통해 출력을 보면서 위의 해결책을 찾았습니다. 그러나 나는 그저 줄줄이 반향이있을 것이라고 생각했다. – Englishbob

0

이 사용하고 있다고 생각 쉘에서 개미가 다 잘 작동하면 문제가되지 않는 것 같습니다. 앞서 언급 한 것처럼 수정 된 파일 권한은 실행 후 문제가 될 수 있습니다.

1

ANT 빌드 단계의 주요 개념은 플랫폼간에 일관성을 제공한다는 것입니다. 따라서 "구성 지옥"을 피하기 위해 가능한 한 많이 사용해야합니다 - 구성이 여러 개인 조합의 폭발. 그러나 때때로 남자는 남자가해야 할 일을해야합니다.

1

귀하의 제약 조건을 감안할 때 귀하의 솔루션은 훌륭하다고 생각합니다.

귀하의 질문에 대답 : 당신은 UNIX를 실행하는 Windows를 실행하는 일부 노예로 분산 젠킨스 배포, 일부 노예가있는 경우

...is there any disadvantage of running ant in this manner...? 

마음에 오는 가장 큰 하나는,이 명확하지 않습니다 (적어도 Cygwin 설치/구성과 같은 더 많은 작업이 필요합니다). 그러나 나는 그것이 당신이 정말로 걱정하고있는 것이라고 생각하지 않습니다.

틀림없이 깨끗한 대체 솔루션은 root로 실행되는 Jenkins 슬레이브를 설정하고 (필요한 경우 Windows의 경우 "Administrator"로 설정) 작업을 묶어 "Ant를 호출하십시오"라는 Ant입니다. Ant 호출. 하지만이를 위해서는 설정 작업이 훨씬 더 많이 필요하며 아마도 그만한 가치는 없습니다.

관련 문제