根据构建操作系统部署不同的文件

P.Y*_*.Y. 4 travis-ci

我正在从Travis到GitHub Releases部署构建工件,但是我需要根据执行构建的OS部署不同的文件。目前,我复制provider我的deploy部分,只是在上添加上TRAVIS_OS_NAME条件section

. . .
deploy
  - provider: releases
    . . .
    file: libsomething.so
    on:
      condition: $TRAVIS_OS_NAME = linux
      . . .
  - provider: releases
    . . .
    file: libsomething.dylib
    on:
      condition: $TRAVIS_OS_NAME = osx
      . . .
Run Code Online (Sandbox Code Playgroud)

有更有效的方法吗?

Dav*_*all 5

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

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

deploy:
  - provider: releases
    ...
    file: $DEPLOY_FILE
Run Code Online (Sandbox Code Playgroud)