编写类似shell的python脚本来控制连续的构建。
cish的Python项目详细描述
我曾经编写一些小的bash脚本来创建virtualenv和 使用 我的构建机器上一直安装的几个python版本之一。 但是bash脚本在windows上不受支持,所以我想编写 这个脚本是用python编写的。
cish是一组用于编写类似bash的python的实用函数 处理几个已安装的python解释器的脚本。
我们走吧!
importcishcish.rm("build")cish.default.pip("install","nose")cish.default.python("setup.py","build")cish.default.nosetests()<>这将删除
默认值是一个由python解释器组成的“环境”, 库路径和实用程序,如pip。默认值是环境 执行脚本本身的解释器。
我们也可以使用不同的解释器:
importcishenv=cish.from_interpreter("path/to/python")env.python("setup.py","build")env.nosetests()
python解释器的安装位置通常是 取决于试验机。我们可以放置一个简单的json文件 在几个位置之一,例如在/etc/cish.json中, 指定其位置:
{"2.6.9":"/opt/python2.6.9/bin/python","2.7.8":"/opt/python2.7.8/bin/python"}
然后我们可以选择脚本中的interpeter,比如说, 由jenkins设置的环境变量:
importcish,osenv=cish.from_config()[os.environ["PYTHON_VERSION"]]env.python("setup.py","build")
virtualenv也很简单:
importcishvenv=cish.default.virtualenv("optional/location")venv.pip("install","package_to_install_inside_virtualenv")
错误报告和其他贡献
此项目位于此处cish github page。
备选方案
你可能想看看sh一个很酷的库 在不直接处理子流程的情况下运行可执行文件。它有一个更宽的 范围比cish小,但缺少我们为不同python安装提供的抽象 以及操作系统特定的文件扩展名和安装位置。