加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby-on-rails – 人们将capistrano deploy.rb和食谱提交给他们

发布时间:2020-12-17 02:33:03 所属栏目:百科 来源:网络整理
导读:对于这个相当愚蠢的问题感到抱歉,但人们会将他们的Capistrano文件(Capfile,deploy.rb,multisite config / deploy / *)提交给他们的私人scm回购? 是否有人们遵循的最佳做法或标准?你关注什么? 谢谢. 解决方法 最佳做法是“是”,提交您的deploy.rb,但不提交
对于这个相当愚蠢的问题感到抱歉,但人们会将他们的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,请查看some of these episodes.注意,许多RailsCasts不再免费,但每月9美元,这非常值得!

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读