持续集成:如何使用 TeamCity 在构建过程中自动执行应用程序的代码签名过程



目前,我正在寻找一个解决方案,如何在TeamCity上构建解决方案(.Net)时存储我的签名证书并实现应用程序签名步骤。

找不到任何合适的解决方案,也不认为在NuGet包中放入证书是一个好的解决方案。

有人能告诉我怎样才能做到这一点吗?

您可以在buildagents机器上的特定目录下拥有证书,或者从证书所在的存储库中添加一个额外的目录。

然后,您可以在解决方案中添加一个额外的visual studio proj文件,这是您在TeamCity中构建发布版本时使用的文件。这个项目文件将包含您的应用程序的签名以及编译等

现在我不知道你在使用什么样的签名,我们有一个正在签名的clickOnce应用程序,我们使用以下三个步骤:

<Exec Command="&quot;$(SdkPath)mage.exe&quot; -sign &quot;$(ClickOncePublishDirectory)app.exe.manifest&quot; -CertFile $(SigningCert) -pwd $(SigningPassword)"/>  
<Exec Command="&quot;$(SdkPath)mage.exe&quot; -update  &quot;$(ClickOncePublishDirectory)application&quot; -AppManifest &quot;$(ClickOncePublishDirectory)app.exe.manifest&quot; -Publisher &quot;Name in certificate&quot; -a sha256RSA"/>
<Exec Command="&quot;$(SdkPath)mage.exe&quot; -sign  &quot;$(ClickOncePublishDirectory)application&quot; -CertFile $(SigningCert) -pwd $(SigningPassword)"/>

最新更新