1

当新的虚拟机启动时,我需要将固定装置加载到系统中。我已经抛弃了 MongoDB 和 Postgres。但是每当有新机器启动时,我不能只是坐在电脑前。我希望能够只“发出”一个命令或脚本自动执行它。

但是像pg_dump转储 PostgreSQL 这样的命令需要密码。问题是,我用来部署这些设备的脚本应该在版本控制之下。包含此密码的文件(如果这是进行自动化的唯一方法)将不会被提交。如果需要提交,则部署存储库仅限内部开发人员使用。

我的问题是……在这种情况下,您认为什么是好的做法?我正在考虑使用 PythonPopen来发出这些命令。

谢谢。

我也可以把它放在缓存服务器中......但不确定它是否是唯一“更好”的方式......

4

1 回答 1

0

无论您要以哪种方式加载数据,您都必须授予加载夹具的用户在数据库上写入的权限。

使用 Postgres,您可以为特定用户授予无需密码的登录权限,并消除共享密码的问题,或者您可以将密码存储在主目录中的 pgpass 文件中。

就我个人而言,我发现fabric 是一个非常好的部署工具,在这种特定情况下,我将使用它连接到远程机器并发出psql -f 'dump_data.sql' -1命令。

于 2012-06-24T01:30:05.537 回答