2014-04-03 3 views
0

자바 슬레이브를 Java WebStart (SSH가 작동하지 않음)를 통해 Jenkins 마스터에 연결했습니다. m/c에 로그인 한 'qalab'이라는 관리자 사용자가 있습니다 (잠들지 않습니다). 노드 시스템 정보가 주어진 이미지로 표시됩니다.젠킨스 - 슬레이브 사용자 변경

enter image description here

는 지금, 나는 셀레늄을 통해 사파리 브라우저를 실행해야합니다. 내가 사파리로 테스트를 실행할 때마다 나는 아래의 예외를

java.lang.IllegalStateException를 얻을 : 예상 사파리 데이터 디렉토리가 존재하지 않습니다 :/사용자/널 (null)이/라이브러리/사파리

(크롬과 파이어 폭스가 잘 작동)

셀레늄에/사용자/user.name은/라이브러리/사파리

는이 같은 노력 사파리를 찾습니다.

System.setProperty ("webdriver.safari.driver", "/ Users/qalab/Library/Safari");

하지만 여전히이 경로를 사용하지 않는 것처럼 보이며 예외적으로 실패합니다.

이 문제를 해결할 방법이 있습니까? 또한 root로 user.name을 표시하는 이유는 무엇입니까? 그것을 내 사용자에게 변경하는 방법 - 'qalab'?

답변

1

실제로 슬레이브를 루트로 실행하고 싶지는 않습니다 (위의 정보는 수행 중임을 나타냄). Jenkins 홈 디렉토리가 액세스 할 수있는 위치에있는 한 Jenkins 노예는 에스컬레이션 된 권한을 가질 필요가 없습니다 (관리자가 아닌 계정으로 마스터와 슬레이브를 실행합니다). 위의 경우 Jenkins 홈 디렉토리는 / 인 것처럼 보입니다. 루트가 아닌 경우 권한 문제가 발생하기 때문에 원하는 작업이 아닐 수도 있습니다.

당신만큼 qalab 사용자가 권한이로 만들어 다른 디렉토리 우리가 /Development/Jenkins 디렉토리를 사용하는 경향이 (그것을 실행/읽기/쓰기로한다로 qalab 사용자의 홈 아래의 디렉토리는 작업을해야하지만은이다 역사적인 선호도). 우리의 노예 중 하나에서

:

user.dir /Development/Jenkins 
user.home /Users/buildbot 
user.name buildbot 

우리의 마스터가 유사하게 구성, 모두가 우리를 위해 잘 작동한다.

+0

선생님, 이해합니다. 그러나, 나는 어디에서 user.home을 바꿀 지 모른다 !! 내 노드가 원격 FS 루트로 구성되었습니다. 루트 =/사용자/qalab/젠킨 – vins

+0

문제는 젠킨스를 루트로 실행하고 있다는 것입니다. 'qalab'로 실행하면 더 행복해집니다. 루트에 대한 user.home을 변경하고 싶지는 않을 것입니다. 이것은 치명적일 수 있습니다. Jenkins 홈 디렉토리에 대한 주석은 user.dir에 관한 것이 었으며, 이는 또한 잘 알려지지 않았습니다. 이는 슬레이브를 시작하기 전에 사용자 환경에서 JENKINS_HOME을 설정하여 변경할 수 있습니다. 당신의'qalab' 사용자로 시작해야합니다. – gaige

관련 문제