本地Travis Build Runner

travis-solo的Python项目详细描述


Build status

travis solo是本地travis构建运行程序。travis solo本身是用python编写的,并且可以使用:

  • cpython 2.x>;=2.6,3.x>;=3.2
  • Pypy 1.9+

支持的操作系统:

  • GNU/Linux
  • 操作系统X

用法

在包含.travis.yml配置文件的目录中执行travis solo。成功时返回0,失败时返回非0。

travis-solo-htravis-solo--help将显示使用信息。

示例.travis.yml文件:

language: python
python:
    - "2.7"
install:
    - sudo this won't be executed anyway
env:
    - VAR=foo
    - VAR=bar
matrix:
    include:
      - python: "2.7"
        env: VAR=baz

script: echo "VAR is $VAR"

输出:

-> % travis-solo


Build configuration python2.7 (VAR=u'foo') running
Preparing the environment
$ virtualenv --distribute --python=python2.7 /Users/aa/projects/travis-solo/.travis-solo/2.7
Running virtualenv with interpreter /usr/local/bin/python2.7
New python executable in /Users/aa/projects/travis-solo/.travis-solo/2.7/bin/python
Installing distribute...........................................................................................................................................................................................................................done.
Installing pip................done.
"sudo this won't be executed anyway" ignored because it contains sudo reference
$ echo "VAR is $VAR"
VAR is foo


Build configuration python2.7 (VAR=u'bar') running
Preparing the environment
"sudo this won't be executed anyway" ignored because it contains sudo reference
$ echo "VAR is $VAR"
VAR is bar


Build configuration python2.7 (VAR=u'baz') running
Preparing the environment
"sudo this won't be executed anyway" ignored because it contains sudo reference
$ echo "VAR is $VAR"
VAR is baz


Build summary:
python2.7 (VAR=u'foo'): Build succeeded
python2.7 (VAR=u'bar'): Build succeeded
python2.7 (VAR=u'baz'): Build succeeded

-> % echo $?
0

travis solo当然可以自己运行测试

限制

首先,您需要记住,您的本地环境可能与travis非常不同,因此所有这些apt-get调用可能无法按预期工作。

  • 目前唯一支持的项目类型是python。

  • 支持的配置属性:

    • before_install
    • install
    • before_script
    • script
    • after_script
    • python
    • matrix
    • env
  • travis-solo设置以下环境变量:

    • TRAVIS=true
    • CI=true
    • TRAVIS_SOLO=true
    • TRAVIS_PYTHON_VERSION=...取决于配置
  • 涉及sudoword的命令此时会被自动丢弃

  • 运行并行生成时(--jobs Xwhere x!=1)您需要确保生成不会同时在同一个项目文件上操作。

    例如:python包构建过程可以使用build目录来存储结果。有一个解决方法(从https://github.com/hhatto/autopep8/commit/1c895989422b0a02a32a4383a3f0467b44f20663借用)-更改

    python setup.py install # or similar

    python setup.py build –build-base=”.build-$TRAVIS_PYTHON_VERSION” install

    此更改将确保每个生成环境将在单独的生成目录中运行,直到生成您的包为止。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java在使用apache poi获取空行中的getLastCellNum()方法时获取nullPointerException   向方法发送多个参数并返回值,Java   转换SVG时Batik出现java错误:<use>元素的属性“xlink:href”是必需的   使用迭代器时的java ConcurrentModificationException<Node>   java Maven正在向本地存储库安装一个不在依赖关系树或我的POM中的依赖关系   java如何检测设备是否有传感器使用Kotlin中的指南针?   如何选择在seleniumjava中运行时生成div[i]的复选框?   java使用Spring和html表单获取对象   传递特定格式字符串的java构造函数   解组错误时找不到java类。带字节数组的包裹,字节[]   在Java中,如何从超类方法中获取子类值?   java hibernate如何确保用数据库中的最新数据更新二级缓存   多线程在java中是Mac#doFinal()线程安全的吗?   java apache velocity:附带编译的模板   java禁用安卓 webview中的弹出窗口和警报框   为什么ANT不为构建使用Eclipse工作区默认JRE   java MySQL:ON DUPLICATE KEY语句在JDBC中失败   java Spring+AngularJs+Tomcat 9.0 403发送PUT请求时出错   Java服务器在需要时侦听socket