首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >基于矩阵参数的Travis展开

基于矩阵参数的Travis展开
EN

Stack Overflow用户
提问于 2018-07-27 23:14:55
回答 1查看 680关注 0票数 6

我有一个在Linux和OSX上运行的travis作业,我希望能够使用它为每个平台部署不同的构建工具到github发行版。我的.travis.yml文件目前看起来如下所示:

代码语言:javascript
复制
language: rust

cache: cargo

os:
  - linux
  - osx

rust: 
  - stable
  - beta
  - nightly 

script: 
  - cargo build --release -vv
  - cargo test --release --all -vv

matrix:
  allow_failures:
    - rust: nightly
  fast_finish: true

deploy:
  - provider: releases
    skip_cleanup: true
    api_key:
      secure: <encrypted key here, removed for brevity> 
    before_deploy: 
      - cargo install cargo-deb
      - cargo deb --no-build --no-strip
      - ./scripts/package_linux.sh .
    file_glob: true
    file: 
      - "target/debian/ellington_0.1.0_amd64.deb"
      - "releases/*_linux.zip"
    on:
      tags: true
      os: linux
      rust: stable

我假设我添加了第二个部署步骤(例如,参见下面),但我找不到任何关于如何这样做的文档,更不用说它是否可行了。有关于部署到多个提供程序的大量文档,但没有关于在不同平台上将多次部署到同一提供程序的文档。

代码语言:javascript
复制
  - provider: releases
    skip_cleanup: true
    api_key:
      secure: <encrypted key here, removed for brevity> 
    before_deploy: 
      - ./scripts/package_osx.sh .
    file_glob: true
    file: 
      - "releases/*_osx.zip"
    on:
      tags: true
      os: osx
      rust: stable
EN

回答 1

Stack Overflow用户

发布于 2019-03-08 05:05:14

查看链接!

其要点是:是的,您在正确的轨道上,您可以定义如下所示的多个部署:

代码语言:javascript
复制
deploy:
    - provider: releases
      api_key: "<deploy key>"
      file:
        - "target/release.deb"
      skip_cleanup: true
      on:
        tags: true

    - provider: releases
      api_key: "<deploy key>"
      file:
        - "target/release.dmg"
      skip_cleanup: true
      on:
        tags: true

    - provider: releases
      etc...

有关此特性的相关文档也可以找到这里。大约在条件部署部分完成一半。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51566610

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档