有什么东西像没有粘贴部分的pastescript?

时间:2011-09-26 23:42:56

标签: python automated-tests build-automation paste buildout

我正在寻找一个像paster一样的简单的lib /工具,我可以轻松地创建自定义命令,而无需与粘贴本身有任何关系。我希望创建一个像paster或manage.py这样的辅助工具来执行各种任务,比如构建(可能使用buildout),构建文档以及为非web /非wsgi项目运行脚本/测试。 (这就是为什么我不想要任何需要粘贴的东西)

有关工具的任何建议吗?我的方法听起来合理吗?

1 个答案:

答案 0 :(得分:0)

我经常使用Fabric作为我的通用项目看门人。通常我使用Fabric自动执行以下任务:

  • 生成文档
  • 运行测试
  • 制作发布

最初开发Fabric是为了简化使用SSH在远程主机上运行的命令的自动化/脚本编写。但是,Fabric也是自动执行本地项目管理相关任务的优秀工具。

Fabric命令是所谓的 fabfile 中的普通Python函数。你不需要了解很多关于Fabric的知识。这是一个简单的fabfile.py

from fabric.api import local

def tests():
    """Run the test suite."""
    ...

def release(version):
    """Make a relase."""
    tests()
    local("hg tag %s" % version)
    ...

可以这样使用:

$ fab -l
Available commands:

    release  Make a relase.
    tests    Run the test suite.

$ fab release:version=0.1
...
[localhost] local: hg tag 0.1
...

关于buildout,只需将此部分添加到buildout.cfg,即可在bin/fab处使用Fabric:

[fabric]
recipe = zc.recipe.egg
eggs =
    <things-you-need-in-your-fabfile>
    fabric