gpt4 book ai didi

ruby-on-rails - 人们是否将他们的 capistrano deploy.rb 和食谱提交给他们的私有(private) scm?

转载 作者:太空狗 更新时间:2023-10-29 13:38:48 25 4
gpt4 key购买 nike

很抱歉提出一个相当愚蠢的问题,但是人们是否将他们的 Capistrano 文件(Capfile、deploy.rb、multisite > config/deploy/*)提交到他们的私有(private) scm 存储库?

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

谢谢。

最佳答案

最佳做法是"is",提交您的 deploy.rb,但不要提交任何包含密码、api_keys 或其他私有(private)数据的文件——而是将这些文件制作成模板,例如在 database.yml 中提交包含数据库名称、端口、用户名的文件,但类似于

password: <db_password>

创建模板文件。

显然,如果您的项目位于 GitHub 之类的公共(public)存储库中,那就对了。但是,如果您的 SCM 是私有(private)的,正如您所说,您应该像对待任何其他安全资源一样对待它。密码和 key 比“任何其他安全资源”更重要——它们应该受到高度保护。

对于完全自配置的系统,创建 capistrano(或可能是 rake)任务,读取具有各种密码或 key 的仔细控制的本地文件(可能是 YAML),一旦提交的文件被部署,将密码写入模板.

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

就部署而言,这是只有高权限用户才应该执行的操作(尤其是在生产环境中)。这种做法允许您将密码和其他敏感数据设置为仅对已被授予访问给定服务器的用户可见。

Ryan Bates 在 RailsCasts 上做了一些像这样的策略,查看 some of these episodes .请注意,许多 RailsCasts 不再免费,但每月 9 美元,这非常值得!

关于ruby-on-rails - 人们是否将他们的 capistrano deploy.rb 和食谱提交给他们的私有(private) scm?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13377250/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com