1

我正在开发一个开源和多平台。我在 Travis 上运行测试以在这些不同平台上测试和生成构建。

要使用多个操作系统,我的travis.yml文件中有以下内容:

matrix: include: - os: linux dist: trusty sudo: required language: python python: 3.6.2 - os: osx sudo: required - os: windows language: python sudo: required python: 3.6.2 script: - if [[ "$TRAVIS_OS_NAME" != "windows" ]]; then python3 myProject; fi

如何在此矩阵中添加 docker?

文档是这样说的:

services: - docker 但是我可以把它也放在我的 travis.yml 文件中吗?

以及如何只在 docker 实例中执行某些命令?

对于我使用的不同操作系统 - if [[ "$TRAVIS_OS_NAME" != "windows" ]]; then python3 myProject; fi,如何将这个 if 函数用于 docker?

有足够多的关于 Docker 和多操作系统的文档。但不适用于结合 Docker 和多个操作系统。谢谢!

4

2 回答 2

1

dist: trustysudo: required给你 Docker。无需添加services: [docker]. https://docs.travis-ci.com/user/docker/具有误导性,因为两者都显示在同一个 YAML 片段中。那应该是固定的。

于 2018-03-02T10:57:58.427 回答
0

AFAIK 目前 Travis 无法做到这一点,因为我找不到任何 hack 来在 travis 上的 macos 上运行 docker。

如果你找到一个,请告诉我。

于 2019-01-23T11:29:17.243 回答