10

我正在设置TeamCity进行持续集成和(希望)持续部署。一些构建步骤将涉及私人文件,例如如何使用私人文件配置TeamCity?

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

由于这些文件.SNK文件包含私人数据,我不想将它们放入(公众可访问的)源代码管理系统。

我为AutoFixture设置了http://teamcity.codebetter.com,所以我没有物理访问服务器的权限。我希望有一个功能可以让我上传这些文件,但是找不到那种类型的东西。

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

+0

对你有好处,持续部署是发展的圣杯 – stimms

回答

9

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

显然这需要第二个存储库是私人的 - 但这是你想要的任何方式。在源代码管理中拥有这些文件是件好事。

+0

这就是我最终做的。工作就像一个魅力:) –

+1

我无法弄清楚第二个存储库的行为。一次尝试只检出一个存储库。那么我怎么参考第二个呢? – Matthias

2

我会把我需要的文件在源代码管理中,但我会先加密它们。然后,我会在构建中设置一个参数,这是解密文件所需的密码或密钥。构建会解密这些文件,无论他们需要签名还是发布,然后删除它们(如果系统允许的话,擦除它们)。这应该足以让事情安全,除非团队城市受到损害,而且如果它基本上是沉没的。

根据您使用的源代码控制工具,可能会将文件设置为只能由特定的经过身份验证的用户看到。 Perforce当然有这种能力,但我从来没有见过更受欢迎的DVCS系统。