Python:跟踪部署的工具

标签 python deployment web-deployment

我正在寻找一种工具来跟踪“什么正在运行”。我们有一堆服务器,每台服务器上都有一堆项目。这些项目可能在特定版本(hg 标签/commit nr)上运行,并且在特定版本上也有它们的要求。

Fabric 看起来是通过自动化 ssh 部分进行实际部署的良好开端。但是,一旦部署完成,就无法了解已完成的工作。

在重新发明轮子之前,我也想在这里检查一下 SO(我已尽力使用 Google,但可能会寻找错误的关键字)。已经有这样的工具了吗?

(实际上我正在部署 Django 项目,但我不确定这是否与问题相关;任何跟踪 pip/virtualenv 安装或服务器状态的一般情况都应该没问题)

非常感谢,

克拉斯

==========

为临时编辑。解决方案

==========

现在,我们选择将此信息简单地存储在一个简单的键值存储中(在我们的例子中:文件系统),我们非常小心地备份(在我们的例子中:使用 DCVS)。我们使用与实际部署相同的部署工具(在我们的例子中:fabric)跟踪这家商店

密码存储在 TrueCrypt 卷中,该卷存储在我们的键值存储中。

==========

当某处突然出现针对此问题的某种开源解决方案时,我仍然会很乐意接受任何答案。在不久的将来,我可能会在某个地方分享(部分)我们的解决方案。

最佳答案

pip freeze 为您提供所有已安装软件包的列表。奖励:如果您将输出重定向到一个文件,您可以将其用作部署过程的一部分来安装所有这些包(pip 可以通过编程方式从该文件安装所有包)。

我看到您已经在使用 virtualenv。好的。您可以运行 pip freeze -E myvirtualenv > myproject.reqs 来生成一个依赖文件,该文件兼作 Python 环境的状态报告。

关于Python:跟踪部署的工具,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5988177/

相关文章:

python - 如何从存储库中删除带有 Django 项目的 virtualenv 并添加 requirements.txt 文件?

python - boto3 的 API 文档在哪里?

maven - 如何在命令行指定tomcat7-maven-plugin使用的服务器信息?

deployment - Google云计算,使用环境变量

deployment - Capistrano 和从 Github 部署网站

azure - 我正在尝试将网站发布到 Azure,但始终收到 AspNetMergePath 错误

angular - HTTP 拦截器使用 Angular 2、4、6、7、8、9 TypeScript 在请求失败时获取状态 0

python - 在 Tkinter 文本框中显示时,发出处理从串行端口读取的数据

python - MySQL - 按两列分组

java - 直接从 eclipse 发布 .war 到远程 Web 服务器(FTP、SSH)