1

我的应用程序有一个用于控制 Linux 主机场的 python 脚本。更准确地说,我有一个集群数据库管理系统。该脚本实现了控制集群的例行任务——启动节点、停止节点、获取节点状态等。

现在脚本是用 python 编写的,只有标准的 python 库。它使用 paramiko 通过 ssh 访问远程主机。它非常丑陋,对于脚本的开发人员和维护人员来说毫无用处。

我想切换到python-fabric

我的问题是:如何正确编写脚本并将其打包到发行版中(包、tar.gz 等)?

主要的应用程序构建系统是 CMake,并使用该configure_file语句从模板生成我的脚本,并替换 C++ 应用程序、库等的完整路径。

我希望构建脚本:

  1. 使用 virtualenv 创建一个单独的环境
  2. 在单独的环境中安装 pip
  3. 在单独的环境中安装fabric
  4. 运行由 virtualenv 生成的“激活”脚本并从中调用东西

这种解决方案有什么缺点?您还能提出哪些其他解决方案?

4

1 回答 1

1

我认为您没有得到任何答复,因为您的问题太模糊了。

Fabric 是一种简化自动化 ssh 命令的工具。您可以按照与从命令行通过run()in fabric 完全相同的方式执行您列出的任何操作。这是一个很棒的工具。

virtualenv new_env变成run('virtualenv new_env')例如。就打包而言,您可以像打包任何 python 包(使用 setup.py 文件)一样打包它。

如果您热衷于简化构建/部署,请开始使用 Fabric,如果遇到文档未涵盖的任何问题,请返回此处。

于 2012-07-06T01:02:17.907 回答