繁体   English   中英

人们将capistrano deploy.rb和食谱提交给他们的私人scm吗?

[英]Do people commit their capistrano deploy.rb and recipes to their private scm?

对于这个相当愚蠢的问题感到抱歉,但人们会将他们的Capistrano文件(Capfile,deploy.rb,multisite> config / deploy / *)提交给他们的私人scm回购?

是否有人们遵循的最佳做法或标准? 你关注什么?

谢谢。

最佳做法是“是”,提交您的deploy.rb,但不提交任何包含密码,api_keys或其他私有数据的文件 - 而是生成这些文件模板,例如在database.yml提交带有数据库名称的文件,端口,用户名,但类似的东西

password: <db_password>

创建模板文件。

显然,如果您的项目是像GitHub这样的公共回购,那么它是正确的。 但是,如果您的SCM是私有的,正如您所说,您应该将其视为任何其他安全资源。 密码和密钥不仅仅是“任何其他安全资源” - 它们应该是高度安全的。

对于完全自我配置的系统,创建capistrano(或者rake)任务,读取具有各种密码或密钥的精心控制的本地文件(可能是YAML),并且一旦部署了已提交的文件,就将密码写入模板。

如果密码或配置文件的格式变化不大,您可以使用cap:setup任务,然后手动添加密码,将它们保留在app / shared / config目录中,并让capistrano在源树中创建一个符号链接部署。

在部署方面,这只是一个高权限用户应该执行的操作(特别是对于生产)。 通过此操作,您可以使密码和其他敏感数据仅对已​​被授予对给定服务器的访问权限的用户可见。

Ryan Bates在这样的策略上做了一些很好的RailsCasts,查看其中的一些剧集 请注意,许多RailsCasts不再免费,但每月9美元,这非常值得!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM