如问题CLI: Switch keychains in order to sign an xcodebuild所述,我遇到了必须使用两个钥匙串来运行xcodebuild
的问题。我需要这个,因为我们的企业和appstore身份被称为相同。
当我尝试提出的解决方案时,如果我一次只运行一个xcodebuild
,那么它可以正常工作。但我正在使用并行运行多个构建的构建服务器(hudson或jenkins)。每个构建作业都应该构建应用程序的企业和appstore版本,因此它必须使用不同的密钥链。在按照建议更改钥匙串列表时,这始终会影响当前用户的所有正在运行的进程。因此,不同项目的并行构建将受到影响,并且基本上会失败或使用错误的钥匙串。
我尝试了几种解决方法来打开一个新的安全上下文,它似乎托管了钥匙串信息:
login -f ...
启动新的登录会话,希望它将使用独立的安全上下文。但是当我更改会话中的钥匙串设置时,它也会影响其他登录会话。ssh localhost ...
开始新的登录会话,但遗憾的是结果相同。似乎安全上下文绑定到用户而不是专用会话。很遗憾,我无法使用Google找到有关这些安全上下文的任何信息。
有没有办法为具有不同钥匙串的主动和解锁的专用用户运行多个进程?