我正在尝试配置jenkins windows slave msbuild任务,但是我遇到了点击一次项目及其强名称密钥的问题 .
根据安装PFX密钥的帐户,具体取决于结果和错误 .
背景:
项目(ProjectX和ProjectY)
-
.net 4
-
ClickOnce应用
-
使用pfx键"ABC.pfx"对程序集进行签名
詹金斯Windows奴隶:
-
Jenkins Windows服务在用户帐户下运行"jenkins@work.com"
-
由于jenkins为每个项目和分支创建工作区,我们将"ABC.pfx"文件复制到c:\
抄袭决议1:
用我的用户帐户将远程桌面安装到服务器上:
-
将ABC.pfx复制到C:上的服务器上
-
以管理员身份运行命令提示符
cd c:\“C:\ Program Files(x86)\ Microsoft SDKs \ Windows \ v7.0A \ Bin \ sn.exe”-d VS_KEY_123456789“C:\ Program Files(x86)\ Microsoft SDKs \ Windows \ v7.0A \ bin \ sn.exe“-i ABC.pfx VS_KEY_123456789
- 打开正常的命令提示符并运行(ClickOnce项目已构建,然后发布msbuild命令):
“C:/Windows/Microsoft.NET/Framework/v4.0.30319/MSBuild.exe”“c:/jenkins/workspace/project-x/ProjectX/ProjectX.sln”“/ verbosity:normal”/ p:configuration =“发布“/ p:outdir =”c:/ jenkins / workspace / project-x / output / ProjectX /“”/ target:Clean; Build“/ maxcpucount
“C:/Windows/Microsoft.NET/Framework/v4.0.30319/MSBuild.exe”“c:/jenkins/workspace/project-x/ProjectX/ProjectX.sln”“/ verbosity:normal”/ p:configuration =“发布“/ p:outdir =”c:/ jenkins / workspace / project-x / output / ProjectX /“”/ target:Publish“/ maxcpucount
-
这两个msbuid命令对我运行正常
-
在Jenkins帐户下运行时,我们收到错误:
C:\ Windows \ Microsoft.NET \ Framework \ v4.0.30319 \ Microsoft.Common.targets(2482,5):错误MSB3326:无法导入以下密钥文件:ABC.pfx . 密钥文件可能受密码保护 . 要更正此问题,请尝试再次导入证书或手动将证书导入当前用户的个人证书存储区 . [C:\詹金斯\工作空间\项目-X \ projectX创建\ ProjectX.csproj]
C:\ Windows \ Microsoft.NET \ Framework \ v4.0.30319 \ Microsoft.Common.targets(2482,5):错误MSB3321:导入密钥文件“ABC.pfx”已取消 . [C:\詹金斯\工作空间\项目-X \ projectX创建\ ProjectX.csproj]
逮捕决议2:
我使用Jenkins用户帐户将远程桌面安装到服务器上
-
将ABC.pfx复制到C:上的服务器上
-
以管理员身份运行命令提示符
cd c:\“C:\ Program Files(x86)\ Microsoft SDKs \ Windows \ v7.0A \ Bin \ sn.exe”-d VS_KEY_123456789“C:\ Program Files(x86)\ Microsoft SDKs \ Windows \ v7.0A \ bin \ sn.exe“-i ABC.pfx VS_KEY_123456789
- 打开正常的命令提示符并运行:
“C:/Windows/Microsoft.NET/Framework/v4.0.30319/MSBuild.exe”“c:/jenkins/workspace/project-x/ProjectX/ProjectX.sln”“/ verbosity:normal”/ p:configuration =“发布“/ p:outdir =”c:/ jenkins / workspace / project-x / output / ProjectX /“”/ target:Clean; Build“/ maxcpucount
- Jenkins用户帐户收到错误:
C:\ Windows \ Microsoft.NET \ Framework \ v4.0.30319 \ Microsoft.Common.targets(2482,5):错误MSB3326:无法导入以下密钥文件:ABC.pfx . 密钥文件可能受密码保护 . 要更正此问题,请尝试再次导入证书或手动将证书导入当前用户的个人证书存储区 . [c:\ jenkins \ workspace \ project-x \ ProjectX \ ProjectX.csproj] C:\ Windows \ Microsoft.NET \ Framework \ v4.0.30319 \ Microsoft.Common.targets(2482,5):错误MSB3321:导入密钥文件“ABC.pfx”被取消了 . [C:\詹金斯\工作空间\项目-X \ projectX创建\ ProjectX.csproj]
- 我也遇到了构建错误
有没有人知道如何让Jenkins用户帐户确认PFX密钥?
谢谢你的帮助,桑德拉
1 回答
最后我找到了问题并解决了这个问题,并且如果其他人遇到类似的问题,我认为我会提出这个问题 .
我们克隆了强命名密钥所在的构建服务器 . 他们被克隆后所有的密钥和点击一次应用程序破了 . 无论我们做了什么,我们都无法删除旧密钥并重新安装它们 .
从头开始构建新的构建服务器并在新服务器上手动安装PFX密钥后,一切都恢复了 .
因此,出于某种原因,克隆服务器不能正确克隆pfx密钥 .