Jenkinsで同様の問題が発生した場合の更新:
LaunchDaemonsを介してjenkinsを起動するようにMacを設定する場合は、必ず追加する必要があります
<key>SessionCreate</key>
<true />
したがって、ci.plist全体は次のようになります。
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
<string>Jenkins</string>
<key>UserName</key>
<string>user</string>
<key>GroupName</key>
<string>staff</string>
<key>ProgramArguments</key>
<array>
<string>/usr/bin/java</string>
<string>-Xmx512m</string>
<string>-jar</string>
<string>/path/to/jenkins/jenkins.war</string>
</array>
<key>RunAtLoad</key>
<true/>
<key>KeepAlive</key>
<true/>
<key>EnvironmentVariables</key>
<dict>
<key>JENKINS_HOME</key>
<string>/path/to/jenkins/home</string>
</dict>
<key>SessionCreate</key>
<true />
</dict>
</plist>
私は上記の多くの人々が抱えているのと同じ問題で立ち往生しています。具体的には、Jenkinsシェルスクリプトから実行したときに同じ問題が発生しました。**ユーザー操作は許可されていません**エラーが発生しました。sshシェルから実行すると、スクリプトは正常に機能しました。
ほとんどの人が見ている違いは、
セキュリティリストキーチェーンを実行すると次のようになることです。
$ security list-keychain
"/Library/Keychains/System.keychain"
"/Library/Keychains/System.keychain"
しかし、sshシェルで実行すると、次のようになります。
$ security list-keychain
"/Users/<i>user_account_name</i>/Library/Keychains/login.keychain"
"/Library/Keychains/System.keychain"
そして、ほとんどの人は、ユーザーアカウントのキーチェーンにすべてのキー/証明書などを持っています。一部の人々が示唆したように、ユーザーキーチェーンとは異なる新しいキーチェーンを作成し、XCode署名用に再予約するのは簡単です。私はここに私のものを置くことになりました:/Library/Keychains/sysiphone.keychain
問題は、私のセットアップ(そしておそらくあなたのセットアップも)では、異なるセキュリティ設定ドメイン(システムとユーザー)で実行していることだと思います。最後に、sysiphone.keychainを表示する方法は次のとおりです。
$ sudo security list-keychains -d system -s "/Library/Keychains/sysiphone.keychain"
Password: *****
$ security list-keychains -d system
"/Library/Keychains/sysiphone.keychain"
...そして魔法のようにJenkinsで物事が構築され始めました。うわー...それは私にとっては約4時間でした。はぁ。