gpt4 book ai didi

ios - 如何让 Jenkins 使用 usr/bin/security?

转载 作者:可可西里 更新时间:2023-11-01 03:59:02 25 4
gpt4 key购买 nike

我正在使用 Jenkins 构建一个 iPhone 应用程序,因此在某些时候它需要使用 /usr/bin/security。遗憾的是 Jenkins 找不到该命令。

这是控制台日志摘录:

[workspace] $/usr/bin/security find-identity -p codesigning -v FATAL:无法运行程序“/usr/bin/security”(在目录“/Users/jenkins/.jenkins/jobs”中/Obfuscated iOS/workspace"): error=2, No such file or directory java.io.IOException: 无法运行程序“/usr/bin/security”(在目录“/Users/jenkins/.jenkins/jobs/Obfuscated iOS/workspace"): error=2, 没有那个文件或目录

类似这样的事情通常意味着存在权限问题,所以我尝试了 sudo chmod 777/usr/bin/security 但构建产生了相同的结果。

此外,当我从终端尝试 /usr/bin/security find-identity -p codesigning -v 时,它工作正常。

如何让 Jenkins 能够使用此工具以及它可能需要的任何其他 iOS 工具?

更多信息:

奇怪的是,其他 iOS 相关工具,如 /usr/bin/xcodebuild/usr/bin/agvtool 工作正常,如下所示:

[工作区] $/usr/bin/xcodebuild -version
Xcode 6.4
构建版本 6E35b
从项目中获取营销版本号 (CFBundleShortVersionString)。
[工作区] $/usr/bin/agvtool mvers -terse1
找到营销版本 (CFBundleShortVersionString):4.0.0。
在项目配置中找到的营销版本 (CFBundleShortVersionString):4.0.0。
从项目中获取技术版本号 (CFBundleVersion)。
[工作区] $/usr/bin/agvtool vers -terse

关于权限的更多信息:

ls -le 产量

-rwxr-xr-x  1 root   wheel    224032 Aug  1 20:43 security

与 xcodebuild 等同一目录中的其他工具相比,这对我来说看起来很正常。

Jenkins 路径

我检查了 Jenkins 系统配置页面,它列出了 PATH:
/usr/bin:/bin:/usr/sbin:/sbin

在构建步骤中运行有效!

如果我使用命令 /usr/bin/security find-identity -p codesigning -v 创建一个只有构建步骤的新作业,那么它运行良好。

这表明该命令在内部由另一个进程运行。

最佳答案

问题的发生是因为“构建输出目录”中使用的值:

enter image description here

删除 ${WORKSPACE} 解决了调用/usr/bin/security 的问题。

关于ios - 如何让 Jenkins 使用 usr/bin/security?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33483193/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com