2

我在许多不同的系统上工作——许多 linux 发行版、windows(使用 cygwin)、osx、bsd 等。

我讨厌手动设置每个环境,并且已经考虑了一段时间,开发一个 python 模块,它将自动化诸如设置 bash 环境、配置 git、配置虚拟环境、跨不同平台配置应用程序等。

我的想法是创建一个 python 模块,将 git url 作为参数,因为 git repo 将是一个配置文件,指定将由解析器执行的一些“元”命令,例如:

  1. 确定操作系统类型
  2. 执行诸如“apt-get install”之类的操作
  3. 根据操作系统类型,将存储库中的文件符号链接到基于配置文件的位置
  4. 使用某种正则表达式解析器修改现有系统配置文件

类似的东西已经存在了吗?好主意?馊主意?改进的想法?

4

3 回答 3

1

还有Puppet(Puppet配置管理

于 2014-01-06T11:41:40.197 回答
1

Saltstack 和 ansible 一样,是一套配置远程机器的工具。它是用 python 编写的,如果你愿意,可以通过 python API 使用。salt 相对于 ansible 的优势在于 salt 可以配置 Windows 机器以及 *nix 类型的机器。

这是他们文档中的一个非常简短的示例:

import salt.client

local = salt.client.LocalClient()
local.cmd('*', 'test.fib', [10])

有关更多信息,请参阅:

于 2014-01-06T13:21:02.713 回答
1

我不确定我是否将它用作模块,但ansible是一个用 Python 编写的工具,可以完成所有这些事情。“元”命令位于 yaml 文件中。

它通常从命令行运行,而不是作为导入的模块。

于 2014-01-04T22:04:52.227 回答