在构建脚本(.bat文件)中有以下一行:
SignTool.exe sign /f <Path of the .pfx file> /p "password" /t http://timestamp.verisign.com/scripts/timestamp.dll /v <path of the file to be signed>
如果从命令行运行,则在Teamcity服务器中工作正常。但是当构建脚本作为构建管道的一部分运行时,会引发以下错误:
SignTool错误:找不到文件:
我已经确认文件的路径没有问题。尝试按照其他论坛中的建议在此行之前添加echo语句,但仍然没有更改。显示相同的错误。有什么建议么 ?谢谢。
团队版本-2018.1.3
答案 0 :(得分:0)
这就是解决此问题的原因 https://youtrack.jetbrains.com/issue/TW-55093
在代理上安装证书,然后使用如下命令:
"C:\Program Files (x86)\Microsoft SDKs\ClickOnce\SignTool\signtool.exe" sign /v /sm /n InstalledCertificateName /d "My Tool Name" /t "http://timestamp.comodoca.com/authenticode" "%teamcity.build.checkoutDir%\My Tool\bin\Release\MyTool.exe"
出于某种原因,似乎Teamcity代理无法使用基于文件的证书。