10

我正在为持续集成和(希望)持续部署设置 TeamCity。一些构建步骤将涉及私有文件,例如

  • 用于强命名 .NET 程序集的 .snk 文件
  • 用于发布工件的密码/令牌文件(例如到 NuGet 或 CodePlex)

由于这些文件包含私有数据,我不想将它们放入(可公开访问的)源代码控制系统中。

我正在为AutoFixture设置http://teamcity.codebetter.com ,因此我没有对服务器的物理访问权限。我希望有一个功能可以让我上传此类文件,但找不到任何此类文件。

什么是最合适的解决方案?

4

2 回答 2

9

TeamCity 支持多个 VCS 根,因此您可以使用这些私有文件添加一个额外的 VCS 根。

显然,这将要求第二个存储库是私有的 - 但这就是您想要的任何方式。在源代码管理中拥有这些文件是一件好事。

于 2011-07-17T01:39:25.210 回答
2

我会把我需要的文件放在源代码控制中,但我会先加密它们。然后我会在构建中设置一个参数,该参数是解密文件所需的密码或密钥。该构建将对文件进行解密,对其进行任何需要的签名或发布,然后将其删除(如果系统允许,请擦除它们)。这应该足以保证事情的安全,除非团队城市受到损害,如果是这样的话,无论如何你基本上都会沉没。

根据您使用的源代码控制工具,可能会将文件设置为仅对某些经过身份验证的用户可见。Perforce 确实具有这种能力,但我从未见过更流行的 DVCS 系统。

于 2011-07-17T00:01:22.027 回答