我需要在新VM启动时将灯具加载到系统中。我已经抛弃了MongoDB和Postgres。但是,只要新机器启动,我就不能坐在电脑前。我希望能够“发出”命令或脚本自动执行它。
但像pg_dump
这样的转储PostgreSQL的命令需要密码。问题是,我用来部署这些灯具的脚本应该受版本控制。包含此密码的文件(如果这是执行自动化的唯一方法)将不会被提交。如果需要提交,则仅限内部开发人员限制部署存储库。
我的问题是......在这种情况下你认为什么是好的做法?我正在考虑使用Python的Popen
来发出这些命令。
感谢。
我也可以将它放在缓存服务器中...但不确定它是否是唯一“更好”的方式......
答案 0 :(得分:0)
您必须为加载fixture的用户提供在数据库上写入的权限,无论您要加载数据的方式如何。
使用Postgres,您可以为特定用户提供无密码的登录权限,并消除共享密码的问题,或者您可以将密码存储在主目录中的pgpass文件中。
就个人而言,我发现fabric是一个非常好的工具来进行部署,在这个特定情况下,我将使用它连接到远程机器并发出psql -f 'dump_data.sql' -1
命令。