8

我正在使用 Travis CI 构建我的 Python 项目。我想针对不同版本的 Python 测试我的项目,但是只有当所有版本都成功时才会运行一个脚本。

例如,这个 travis.yml 不能完成这项工作,因为 after_success 部分在每个 Python 构建之后运行:

language: python
python:
  - '2.7'
  - '3.2'
script:
  - python setup.py test
after_success:
  - # this runs both on 2.7 and 3.2

有没有办法做到这一点?

4

3 回答 3

1

我们正在做类似的事情,但不幸的是,现在无法直接从 Travis 那里获得。

您可以为此使用 webhook,它会为您请求一个 URL。根据您的需要,这可能对您有用。

于 2013-07-30T18:30:53.013 回答
1

https://github.com/alrra/travis-after-allhttps://github.com/dmakhno/travis_after_all有解决方案。

它在 .travis.yml 文件中不如您的提案那么干净,该提案(如 trask 所述)目前已暂停,如https://github.com/travis-ci/travis-ci/issues/929所述;开发人员说“我们知道该请求,但没有关于何时准备就绪的 ETA。”

于 2015-12-13T23:52:07.117 回答
0

现在可以通过Build Stages功能(目前处于 Beta 版)实现这一点。

在您的特定情况下,您将添加以下内容:

jobs:
  include:
    - stage: deploy
      script: ./deploy
      python:
        - '2.7'
        - '3.2'

到你的.travis.yml.

有关示例,请参见此页面。

(注意我已经python在部署阶段重新定义了,因为默认情况下它只会从默认 ( test) 作业中定义的矩阵中获取第一个值。我没有测试过,但我假设矩阵扩展在构建阶段有效.)

于 2017-12-17T14:12:43.650 回答