【发布时间】:2014-03-26 15:45:25
【问题描述】:
我正在尝试为基于 Django 的项目创建自动部署脚本。基本上一切正常,直到我尝试压缩我的项目目录的步骤。 Fabric 似乎执行了命令,它没有返回任何错误。
这是导致问题的行:
local('git archive -v --format=tar HEAD | gzip > test.tar.gz')
我正在使用带有 Cygwin 的 Windows 来访问 Unix 命令。我尝试在项目的根目录(来自 Cygwin)中执行相同的命令,并且成功创建了 test.tar.gz(120 MB)。我还从项目的根目录(使用 Cygwin)执行 Fabric 脚本,执行后我看到 test.tar.gz 被创建,但它只是空的(20 字节)。
编辑:尝试在我的同事 Linux 机器上运行相同的脚本,它运行良好:S
编辑 2:我尝试在 fabfile 中执行而不是本地 subprocess.Popen 命令,该命令正确执行了我需要的操作。现在有一个问题,为什么在本地方法中使用相同的命令(在 operations.py 源中找到)不执行任务?
感谢任何帮助。
【问题讨论】:
-
Python、Django、Fabric 等是安装在 Cygwin 中还是只安装在同一台机器上?
-
是的,它在同一台机器上。看起来fabric本地命令不会“等待”完成git存档,因为当我直接运行命令时通常需要几秒钟才能完成。但是当commant与fabric一起运行时,它会立即返回:-S跨度>
标签: python deployment fabric