在Jenkins中复制mobileprovision文件时无法复制错误

时间:2016-12-01 11:15:15

标签: macos jenkins jenkins-build-flow mobileprovision

jenkins安装在OS X Sierra中,我正在努力创造一份工作 我已在KeyChain和Provisioning Profiles Management插件中上传了配置文件。 在作业配置中,在“构建环境”部分的“移动配置文件”中,选择了相应的配置文件。 运行构建时,我会收到这些错误

FATAL: Failed to copy /Users/Shared/Jenkins/Home/kpp_upload/abcdfe-e441-407b-ba4a-34e97bf71f5b.mobileprovision to /Users/*****/Library/MobileDevice/Provisioning Profiles/abcdfe-e441-407b-ba4a-34e97bf71f5b.mobileprovision
         java.io.IOException: Failed to copy /Users/Shared/Jenkins/Home/kpp_upload/abcdfe-e441-407b-ba4a-34e97bf71f5b.mobileprovision to /Users/*****/Library/MobileDevice/Provisioning Profiles/abcdfe-e441-407b-ba4a-34e97bf71f5b.mobileprovision
    at .     
        hudson.FilePath.copyTo(FilePath.java:2018)
    at .                  com.sic.plugins.kpp.KPPProvisioningProfilesBuildWrapper.copyProvisioningProfiles(KPPProvisioningProfilesBuildWrapper.java:161)
    at .             com.sic.plugins.kpp.KPPProvisioningProfilesBuildWrapper.setUp(KPPProvisioningProfilesBuildWrapper.java:99)
    at .   hudson.model.Build$BuildExecution.doRun(Build.java:156)
    at .              hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:534)
    at     hudson.model.Run.execute(Run.java:1720)
    at     hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:43)
    at     hudson.model.ResourceController.execute(ResourceController.java:98)
    at     hudson.model.Executor.run(Executor.java:404)
    Caused by:     java.io.FileNotFoundException: /Users/*****/Library/MobileDevice/Provisioning Profiles/abcdfe-e441-407b-ba4a-34e97bf71f5b.mobileprovision (Permission denied)
    at     java.io.FileOutputStream.open0(Native Method)
    at     java.io.FileOutputStream.open(FileOutputStream.java:270)
    at     java.io.FileOutputStream.<init>(FileOutputStream.java:213)
    at     java.io.FileOutputStream.<init>(FileOutputStream.java:162)
    at     hudson.FilePath.write(FilePath.java:1907)
    at     hudson.FilePath.copyTo(FilePath.java:2011)
    ... 8 more
    Finished: FAILURE

当我在终端中运行命令将文件从源文件夹复制到目标文件夹时,它会成功。但詹金斯无法复制

2 个答案:

答案 0 :(得分:0)

问题是目标路径有一个文件夹“Provisioning Profiles”,其中有一个空格。

将其放入没有空格的文件夹中,或者转义代码中的空格。

<string path>.replaceAll(" ", "\\ ")

答案 1 :(得分:0)

由于访问权限被拒绝,我遇到了类似的问题。我认为您通过.pkg文件安装了Jenkins,因为您的Jenkins目录位于/Users/Shared/Jenkins中。

在MacOS上安装这种Jenkins确实很容易导致文件访问权限错误。

以上错误不是很容易解决,我还没有直接解决问题。

  

我已经通过brew命令重新安装了Jenkins,并且没有权限错误,因为Jenkins安装目录不在Shared中,而是在User目录中。

如果未安装Homebrew,请使用命令在终端中安装Homebrew。

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

使用命令安装Jenkins。

brew install jenkins-lts