当前,我们使用TeamCity来构建部署工件,然后进一步的TeamCity任务将使用该工件并将其按需部署到我们的开发和测试服务器。
我们可以将密码和其他机密数据存储在属性文件中,然后将其检入源代码管理,因为它们都是内部服务器,开发人员拥有对它们的完全访问权限。
但是,要发布到生产环境(以及我们的最终测试层),有一些秘密的密码和配置,我们不想将其检入正常的源代码控制中,或者希望开发人员能够发现这些密码。因此,要进行“实际”部署,我们必须将工件移交给另一个团队,并且他们维护带有生产值的属性文件。
有哪些方法可以存储这些机密信息,并允许TeamCity运行部署而不会泄露机密信息?
(请注意,我是开发人员之一,这不是一个信任问题……我不想拥有发现产品密码的能力,所以我永远不会意外地知道它们并造成一些可怕的破坏!)
您可能需要在此处创建一个权限范围更窄的单独项目(例如,仅允许某些人编辑构建配置)。在这个项目中,创建一个构建配置,负责部署。在此配置中,您可以定义类型为'password'的Typed Parameter,以将密码存储到生产环境中。
另一个选择是使用Deployer插件,特别是它具有私钥身份验证的ssh上部署功能。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句