首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >macOS - Jenkins xccode -执行策略异常注册失败并被跳过: Error Domain=NSPOSIXErrorDomain

macOS - Jenkins xccode -执行策略异常注册失败并被跳过: Error Domain=NSPOSIXErrorDomain
EN

Stack Overflow用户
提问于 2019-11-26 20:16:17
回答 1查看 1.2K关注 0票数 2

对称性描述

当ssh进入运行10.15.1 (Catalina)的mac (或使用通过ssh连接的节点通过Jenkins连接)时,如果我试图构建xcode项目(构建iOS移动应用程序),协同设计阶段将失败,错误如下:

Execution policy exception registration failed and was skipped: Error Domain=NSPOSIXErrorDomain Code=1 "Operation not permitted" (in target 'myproj' from project 'myproj')

在几个地方(总是在我打电话给codesign的时候)

我已经尝试过的

最初我遇到的问题是,我收到了一个"errSecInternalComponent“,而构建失败了。

我尝试添加调用来显式地解锁我的签名证书所在的登录密钥链(安全解锁-密钥链),这有助于解决这个问题,但操作不允许消息持续存在。

我证实,直接从mac命令行在终端窗口中的命令行构建是很好的。此问题仅适用于通过ssh进行的连接。

我更新了系统首选项-->隐私和设置-->开发工具,允许我想出的每一个程序都可能相关(包括所有xcode工具、codesign、java和其他一些我认为可能与Jenkins可能尝试做的事情相关的工具),但这本身并没有什么区别。

我尝试在Jenkins创建一个新的mac节点,该节点通过JNLP连接,以查看这是否有帮助,但得到了相同的结果。

我从OS恢复分区禁用了csrutil,但这没有帮助。

我把我的证书移到系统密钥链上,看看这是否有帮助。事实并非如此。

这个版本在较老的machine (预T2安全芯片)上运行良好,但这台新机器是一台带有T2芯片的较新的machine。为了排除一切,我甚至在安全启动时降低了安全级别,但没有产生任何影响。

老机器也没有运行Catalina。

还有人碰过这个吗?如果是的话,你想明白了吗?

EN

回答 1

Stack Overflow用户

发布于 2020-02-10 20:48:19

抱歉,我的反应太晚了--我确实碰到了这个问题,而修复它的东西是通过了UseModernBuildSystem=NO.?!

编辑:我还花了很多时间处理Jenkins shell调用。我知道,如果我登录到机器(物理),我的构建命令(通过fastlane)工作。我可能还使用了登录来调用它。

在我的jenkinsfile里,我有这样的东西:

代码语言:javascript
复制
def loginShell(cmd) {
    sh """#!/bin/zsh --login
    export LANG=en_US.UTF-8
    ${cmd}
    """
}

当调用快速车道命令(即引擎盖下的xcodebuild )时,我的所有车道都会调用此命令。

有一件事我不太走运,那就是找出zsh是否有一个--login仿真器。我知道bash是这样做的--所以如果它对你不起作用,就把你的头发换成巴什吧;)

它似乎找到了我所有的$PATH垃圾,所以我想它起作用了。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59058744

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档