Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/jenkins/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
MacOS的代码签名在SSH会话中有效,但在Jenkins CI中无效_Jenkins_Electron_Electron Builder - Fatal编程技术网

MacOS的代码签名在SSH会话中有效,但在Jenkins CI中无效

MacOS的代码签名在SSH会话中有效,但在Jenkins CI中无效,jenkins,electron,electron-builder,Jenkins,Electron,Electron Builder,我使用Electron builder 22.3.2在MacOS Catalina上构建并签署我的电子应用程序。 在SSH会话中运行良好,在Jenkins CI中失败。我已经比较了所有的环境变量,甚至尝试取消设置一些变量以进行黑客测试,即模拟“非CI”环境。 从Jenkins builder调用in时,似乎会在使用本地密钥链之前将其删除。有什么想法吗 executing file=security args=delete-keychain /tmp/465cb35e5118c40bc576ed

我使用Electron builder 22.3.2在MacOS Catalina上构建并签署我的电子应用程序。 在SSH会话中运行良好,在Jenkins CI中失败。我已经比较了所有的环境变量,甚至尝试取消设置一些变量以进行黑客测试,即模拟“非CI”环境。 从Jenkins builder调用in时,似乎会在使用本地密钥链之前将其删除。有什么想法吗

executing file=security args=delete-keychain 
/tmp/465cb35e5118c40bc576ed5cfe2207aed7194256a8804498d9a09ba17894a6dd.keychain executed 
file=security Command failed: codesign --sign B6AEB2764D5F34709D0B40E803124C36D12B6E68 -- 
force --keychain 
/tmp/465cb35e5118c40bc576ed5cfe2207aed7194256a8804498d9a09ba17894a6dd.keychain --options 
runtime --entitlements entitlements.mac.plist 

/Users/jenkins/build/workspace/build/mac/xxxxx.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Electron Framework error: The specified item could not be found in the keychain.

您是否在Jenkins中设置了CSC_LINK环境变量?是的,当然,我有CSC_LINK当存在CSC_LINK时,electron builder将内容加载到临时密钥链中,并且只查看该密钥链--忽略用户的密钥链。因此,如果Jenkins提供了它,而您不在SSH中,或者您不在SSH中,那么这就可以解释问题了。@Jake Robb-首先,谢谢!据我记忆所及,在这两种情况下,我都使用了CSC_链接。也就是说,我使用相同的命令调用相同的脚本,或者通过Jenkins代理调用,或者通过“ssh localhost myscript.sh”从相同的代理调用。是的,我不想使用用户的钥匙链,因为从脚本使用它很棘手。好的。听上去,你不再寻找解决方案了?你最终做了什么?你在Jenkins中设置了CSC_LINK环境变量吗?是的,当然,我有CSC_LINK当CSC_LINK存在时,electron builder将内容加载到一个临时密钥链中,只查看该密钥链--忽略用户的密钥链。因此,如果Jenkins提供了它,而您不在SSH中,或者您不在SSH中,那么这就可以解释问题了。@Jake Robb-首先,谢谢!据我记忆所及,在这两种情况下,我都使用了CSC_链接。也就是说,我使用相同的命令调用相同的脚本,或者通过Jenkins代理调用,或者通过“ssh localhost myscript.sh”从相同的代理调用。是的,我不想使用用户的钥匙链,因为从脚本使用它很棘手。好的。听上去,你不再寻找解决方案了?你最后做了什么?