Ada*_*ies 5 release release-management travis-ci github-release
我有一个可以在Linux和OSX上运行的travis作业,我希望能够使用它为GitHub发行版的每个平台部署不同的构建工件。我的.travis.yml文件当前看起来像这样:
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
Run Code Online (Sandbox Code Playgroud)
我假设我添加了第二个部署步骤(例如,请参见下文),但是我找不到有关如何执行此操作的任何文档,更不用说是否有可能。有大量文档介绍了如何部署到多个提供程序,但是没有多次部署到不同平台上的同一提供程序。
- 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
Run Code Online (Sandbox Code Playgroud)
看看这个链接!
要点是,是的,您走在正确的轨道上,您可以像这样定义多个部署:
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...
Run Code Online (Sandbox Code Playgroud)
还可以在此处找到此功能的相关文档。条件部署部分大约进行到一半。
| 归档时间: |
|
| 查看次数: |
387 次 |
| 最近记录: |