我正在尝试在 Jenkins 构建上设置 MonoTouch (Xamarin.iOS 2.0) 项目。我有一个为构建设置的用户,并且我已将所有必需的证书和密钥添加到他们的钥匙串中。
当我尝试在终端中使用 mdtool(如此处和此处所述)时。具体来说,我运行的命令是. 当我这样做时,我得到这个输出"/Applications/Xamarin Studio.app/Contents/MacOS/mdtool" -v build <path to .sln>
MonoDevelop Build tool
ERROR [2013-02-28 10:31:36Z]: Android SDK not found, needed by Xamarin.Android add in
Loading solution: <path to .sln>
Loading solution: <path to .sln>
Loading projects ..
Building Solution: <Project name> (Ad-Hoc|iPhone)
Building: <project name> (Ad-Hoc|iPhone)
此时,构建停止。如果我在自己的用户而不是 Jenkins 用户下运行相同的命令,这将按预期工作。我已经检查过我确实拥有 jenkins 用户中的所有证书和密钥,并且所有供应配置文件都可以通过 XCode 访问。我对此有点束手无策,非常感谢一些帮助。
更令人困惑的是,如果我尝试在 jenkins 用户下使用 Xamarin Studio 构建此项目,则该过程会成功且没有问题。但是为了自动化构建过程,我必须创建一个可以通过 shell 运行的命令。