2017-01-25 6 views
0

저는 젠킨스 (Jenkins)에서 테스트 응용 프로그램을 시작하려고했습니다. 처음에는 Jar 파일에서 Jenkins를 시작했고 모든 것이 제대로 작동했습니다. 나는 Windows 서비스로 젠킨스를 시작할 때 이제병이나 서비스에서 시작할 때 Jenkins가 다른 임시 폴더를 사용하는 이유는 무엇입니까?

Started by user ABC 
Building in workspace C:\MyDir 
[xyz] $ cmd /c call C:\Users\usrname\AppData\Local\Temp\hudson2329759222967199349.bat 
... 

Started by user ABC 
Building in workspace C:\MyDIr 
[xyz] $ cmd /c call C:\WINDOWS\TEMP\hudson4009309858990093371.bat 
C:\MyDir>gauge specs 
Failed to start gauge API: Plugin 'java' not installed on following locations : [C:\WINDOWS\system32\config\systemprofile\AppData\Roaming\gauge\plugins] 

왜 다른 임시 폴더에서 실행 않습니다

이 콘솔 출력했다? 내가 도움이된다면

<executable>java</executable> 
    <arguments>-Xrs -Xmx256m -Dhudson.lifecycle=hudson.lifecycle.WindowsServiceLifecycle 
    "-Dhudson.model.DirectoryBrowserSupport.CSP=sandbox allow-scripts; default-src 'self' 'unsafe-inline' ; img-src 'self'; style-src 'self' 'unsafe-inline';" 
    -Djava.io.tmpdir="C:/Users/username/AppData/Local/Temp" 
    -jar "%BASE%\jenkins.war" --httpPort=8080 --webroot="%BASE%\war"</arguments> 

을 jenkins.xml하기의 AppData \ 로컬 \ 임시 경로를 추가하여 일을 정류 시도 : 젠킨스는 C에 설치 : \ 사용자가 젠킨스 페이지 그냥로드를 거부 username.jenkins에게 를 \. 어떻게해야합니까?

+0

확인. 문제의 1 부분은 이전의 공간 대신에 입력이었습니다. "-Djava.io.tmpdir = C : \ Users \ username \ AppData \ Local \ Temp \ -jar"% BASE % \ jenkins.war "을 넣으면 젠킨스가 실행될 수 있습니다. 결과가 여전히"게이지 시작 실패 API : 다음 위치에 'java'플러그인이 설치되지 않았습니다. " – DPD

답변

2

Windows의 Local System 계정의 프로필은 C:\Windows\System32\Config\systemprofile입니다. temp 등 폴더는 Local System에서 프로세스를 실행할 때이 위치에서 참조됩니다. 자세한 내용은 this answer을 참조하십시오. 시나리오에서

, 당신은 아래의 옵션이 있습니다 전용 계정으로

  • 실행하면 젠킨스 작업을하고 프로비저닝 에이전트는 gaugeplugins가 해당 계정에 대한 설치 할 수 있습니다.
  • gauge --install-all을 작업에 추가하십시오. 이렇게하면 프로젝트에 필요한 모든 플러그인이 설치됩니다.