我正在尝试为一组iPhone应用程序设置持续构建/集成。
我有:
- 一个专用的Mac Mini。 - 一个名为"build"的用户帐户 - 使用plist在/Users/build/Library/LaunchAgents中放置Hudson作为build的LaunchAgent
(尝试过作为hudson运行的系统范围LaunchDaemon,但无法访问build用户的登录钥匙串。故事很长,充满了痛苦。)
- 系统设定为在启动时自动登录"build",以便启动Hudson。
最大的问题是代码签名和Keychain。
我们代表客户的开发者身份创建代码,因此我们有几个开发者身份,并将添加更多身份。
我想把Mini放在一个深色的房间里,永远不再看它,但第一次使用开发者身份进行构建时,会弹出一个GUI对话框,询问是否要始终允许codesign访问开发者身份。
假设您这样做,该对话框将修改密钥链访问控制列表(ACL),以允许codesign。
您可以通过打开Keychain Access,展开证书,选择私钥,右键单击,选择Get Info,然后切换到Access Control选项卡来查看此内容。 "处女"密钥只会在其"始终允许"应用程序列表中具有Keychain Access。您已在对话框中使用和确认的密钥也将具有codesign。
这个框提供了一种添加应用程序的方法,但是您会得到标准的Finder文件选择器,其中隐藏了Unix文件夹。无法导航到 /usr/bin/codesign。因此手动添加是不可能的!
有人知道解决这个问题的方法吗? 我知道一种方法使用“security import”的 -T 开关,但是在首次导入密钥时必须指定ACL,因此在Keychain GUI中添加的任何密钥都必须被丢弃并重新导入。并不是很好。
我有:
- 一个专用的Mac Mini。 - 一个名为"build"的用户帐户 - 使用plist在/Users/build/Library/LaunchAgents中放置Hudson作为build的LaunchAgent
(尝试过作为hudson运行的系统范围LaunchDaemon,但无法访问build用户的登录钥匙串。故事很长,充满了痛苦。)
- 系统设定为在启动时自动登录"build",以便启动Hudson。
最大的问题是代码签名和Keychain。
我们代表客户的开发者身份创建代码,因此我们有几个开发者身份,并将添加更多身份。
我想把Mini放在一个深色的房间里,永远不再看它,但第一次使用开发者身份进行构建时,会弹出一个GUI对话框,询问是否要始终允许codesign访问开发者身份。
假设您这样做,该对话框将修改密钥链访问控制列表(ACL),以允许codesign。
您可以通过打开Keychain Access,展开证书,选择私钥,右键单击,选择Get Info,然后切换到Access Control选项卡来查看此内容。 "处女"密钥只会在其"始终允许"应用程序列表中具有Keychain Access。您已在对话框中使用和确认的密钥也将具有codesign。
这个框提供了一种添加应用程序的方法,但是您会得到标准的Finder文件选择器,其中隐藏了Unix文件夹。无法导航到 /usr/bin/codesign。因此手动添加是不可能的!
有人知道解决这个问题的方法吗? 我知道一种方法使用“security import”的 -T 开关,但是在首次导入密钥时必须指定ACL,因此在Keychain GUI中添加的任何密钥都必须被丢弃并重新导入。并不是很好。