iOS 응용 프로그램의 CI 환경을 설정하려고합니다. 지금까지 나는 명령 줄에서 제대로 테스트 빌드를 구축 xcodebuild 왔하지만 젠킨스가하려고 할 때 나는 콘솔에서 다음 읽기 얻을 그것을 실행 :Jenkins가 프로젝트 폴더에서 xcodebuild를 실행할 수 없음
Started by user anonymous
Building in workspace /Users/Shared/Jenkins/Home/jobs/Unit Tests/workspace
Working directory is /Users/iosappdev/Documents/Xcode Projects/rules.
[rules] $ /usr/bin/xcodebuild -version
FATAL: Cannot run program "/usr/bin/xcodebuild" (in directory "/Users/iosappdev/Documents/Xcode Projects/rules"): error=13, Permission denied
java.io.IOException: Cannot run program "/usr/bin/xcodebuild" (in directory "/Users/iosappdev/Documents/Xcode Projects/rules"): error=13, Permission denied
at java.lang.ProcessBuilder.start(ProcessBuilder.java:460)
at hudson.Proc$LocalProc.<init>(Proc.java:244)
at hudson.Proc$LocalProc.<init>(Proc.java:216)
at hudson.Launcher$LocalLauncher.launch(Launcher.java:707)
at hudson.Launcher$ProcStarter.start(Launcher.java:338)
at hudson.Launcher$ProcStarter.join(Launcher.java:345)
at au.com.rayh.XCodeBuilder.perform(XCodeBuilder.java:224)
어떤 생각을? 나는 Jenkins에게 상당히 새로운 것이지만, Google Fu와 함께이 질문에 아무런 답변을하지 않으려 고 최선을 다했습니다. 나는 Jenkins (기술적으로 자생적)의 수동 설치로 원래이 문제에 부딪 혔지만 최근에 OSX 설치 프로그램을 사용하여 동일한 오류가 발생했습니다.
저는 이것이 Jenkins/Xcode보다 Unix/Linux/OSX 사용 권한과 관련이 있다고 추측하고 있지만이를 확인하기에는 충분한 전문 지식이 없습니다.
편집
프로젝트 디렉토리 권한은 또한 젠킨스가 실행되는 사용자에게 소유권을 변경하려고했습니다 775
로 설정합니다.
dev-imac:rules iosappdev$ sudo -u daemon xcodebuild
shell-init: error retrieving current directory: getcwd: cannot access parent directories: Permission denied
shell-init: error retrieving current directory: getcwd: cannot access parent directories: Permission denied
2012-03-21 11:05:46.161 xcodebuild[1411:70b] [MT] DVTAssertions: ASSERTION FAILURE in /SourceCache/IDEXcode3ProjectSupport/IDEXcode3ProjectSupport-1196/Xcode3Sources/XcodeIDE/Frameworks/DevToolsBase/pbxcore/Xcode3Model/Xcode3Project.m:266
Details: Assertion failed: [directoryPath isAbsolutePath]
Object: <Xcode3Project>
Method: +projectFilesInDirectory:
Thread: <NSThread: 0x40010a260>{name = (null), num = 1}
Hints: None
Backtrace:
0 0x000000010025b85f -[DVTAssertionHandler handleFailureInMethod:object:fileName:lineNumber:messageFormat:arguments:] (in DVTFoundation)
1 0x000000010025b6b5 _DVTAssertionFailureHandler (in DVTFoundation)
2 0x00000001011559bc +[Xcode3Project projectFilesInDirectory:] (in DevToolsCore)
3 0x00000001008a424b -[Xcode3CommandLineBuildTool _resolveInputOptions] (in Xcode3Core)
4 0x00000001008aa097 -[Xcode3CommandLineBuildTool run] (in Xcode3Core)
5 0x00000001001d7db6 (in xcodebuild)
6 0x00000001001d7c2c (in xcodebuild)
"올바른"권한/모양이 무엇인지 설명해 주시겠습니까? xcodebuild는 모든 사용자가 어떤 디렉토리에서든 프로그램을 실행할 수있게 해줄 것이라고 생각합니다. 프로젝트 디렉토리에는 755 개의 권한이 있습니다. Jenkins 사용자는 데몬 사용자입니다. – cesarislaw
내가 실제로 의미 한 것은 당신이 젠킨스를 그 디렉토리를 소유 한 사용자와 함께 실행해야한다는 것이다. 또는 쓰기 가능으로 설정하십시오. –
나는 여러 가지 점에서 두 가지를 시도했다. 다시 검사 (디렉토리 사용 권한을 775로 설정하고 소유권을 데몬 사용자에게 설정)하고 권한 거부 오류가 계속 발생합니다. – cesarislaw