AppVeyor 上 Python 和 SQL 服务器的多种组合

Multiple combinations of Python and SQL Server on AppVeyor

我如何设置一个 AppVeyor 构建 运行 多个作业与 SQL 服务器、MySQL 和 Python 版本的不同组合?

假设我想要运行以下组合:




如何编写我的 appveyor.yml 文件?这是我目前所拥有的:

environment:

  matrix:

    # For Python versions available on Appveyor, see
    # http://www.appveyor.com/docs/installed-software#python

    - PYTHON: "C:\Python27-x64"

    - PYTHON: "C:\Python34-x64"
      DISTUTILS_USE_SDK: "1"

    - PYTHON: "C:\Python36-x64"

services:
  - mysql
  - mssql2012sp1
  - mssql2014
  - mssql2016

platform:
  - x86

install:
  - "%PYTHON%\python.exe -m pip install django==1.10"

test_script:
  - "%PYTHON%\python.exe manage.py test"

构建矩阵不支持服务维度。因此,您需要为 SQL 服务器版本引入环境变量并相应地启动它。 这个 YAML 应该可以工作:

init:
- cmd: net start %SQL%
environment:
  matrix:
  - SQL: MSSQL$SQL2012SP1
    PYTHON: C:\Python27-x64
  - SQL: MSSQL$SQL2012SP1
    PYTHON: C:\Python34-x64
    DISTUTILS_USE_SDK: 1
  - SQL: MSSQL$SQL2014
    PYTHON: C:\Python27-x64
  - SQL: MSSQL$SQL2014
    PYTHON: C:\Python34-x64
    DISTUTILS_USE_SDK: 1
  - SQL: MSSQL$SQL2016
    PYTHON: C:\Python27-x64
  - SQL: MSSQL$SQL2016
    PYTHON: C:\Python36-x64
  - SQL: MySQL57
    PYTHON: C:\Python27-x64
  - SQL: MySQL57
    PYTHON: C:\Python36-x64