iOSアプリケーションのCI環境を設定しようとしています。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)
任意の考え:これまでのところ私は、コマンドラインから正しくテストビルドを構築するためにxcodebuildが、ジェンキンスは、それを実行しようとしたとき、私は、コンソールで読み出さ以下を得る得ていますか?私はかなり新しい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を持っていて、どのユーザーも任意のディレクトリからプログラムを実行できると思っています。プロジェクトディレクトリにも755の権限があります。 Jenkinsユーザーはデーモンユーザーです。 – cesarislaw
私が実際に何を意味するかは、あなたがディレクトリを所有するユーザでJenkinsを実行すべきであるということです。あるいは、書き込み可能にします。 –
私は様々な時点で両方を試しました。再度チェックし(ディレクトリのパーミッションを775に設定し、所有権をデーモンユーザに設定する)、引き続きパーミッション拒否エラーを受け取ります。 – cesarislaw