基于构建操作系统部署不同的文件

时间:2016-04-11 03:33:17

标签: travis-ci

我正在将构建工件从Travis部署到GitHub版本,但我需要部署不同的文件,具体取决于执行构建的操作系统。目前,我在provider部分重复了deploy,只是在section上的TRAVIS_OS_NAME上添加条件:

. . .
deploy
  - provider: releases
    . . .
    file: libsomething.so
    on:
      condition: $TRAVIS_OS_NAME = linux
      . . .
  - provider: releases
    . . .
    file: libsomething.dylib
    on:
      condition: $TRAVIS_OS_NAME = osx
      . . .

有更有效的方法吗?

1 个答案:

答案 0 :(得分:5)

您可以设置与已部署文件的名称对应的环境变量。

matrix:
  include:
    - os: linux
      ...
      env: DEPLOY_FILE=libsomething.so
    - os: osx
      ...
      env: DEPLOY_FILE=libsomething.dylib

deploy:
  - provider: releases
    ...
    file: $DEPLOY_FILE