我已经使用cargo doc
生成了文档for my project,它是在target / doc目录中生成的。我想允许用户在没有本地副本的情况下查看此文档,但我无法弄清楚如何将此文档推送到存储库的gh-pages分支。特拉维斯CI会帮我自动做到这一点,但我也无法让它工作。我跟着this guide,设置了.travis.yml文件和deploy.sh脚本。根据构建日志,一切都很顺利,但gh-pages分支永远不会更新。我的操作系统是Windows 7。
答案 0 :(得分:4)
最好使用travis-cargo,它旨在简化文档的部署,并具有其他功能。它的自述文件提供了.travis.yml
文件的示例,尽管最简单的形式可能如下所示:
language: rust
sudo: false
rust:
- nightly
- beta
- stable
before_script:
- pip install 'travis-cargo<0.2' --user && export PATH=$HOME/.local/bin:$PATH
script:
- |
travis-cargo build &&
travis-cargo test &&
travis-cargo --only beta doc
after_success:
- travis-cargo --only beta doc-upload
# needed to forbid travis-cargo to pass `--feature nightly` when building with nightly compiler
env:
global:
- TRAVIS_CARGO_NIGHTLY_FEATURE=""
它非常具有自我描述性,因此很明显,例如,如果您想使用另一个Rust版本系列来构建文档,该怎么办。
为了使上述.travis.yml
有效,您需要以某种方式设置GH_TOKEN
。基本上有两种方法:通过加密字符串在.travis.yml
内,或在项目选项中在Travis本身中配置它。我更喜欢后一种方式,因此我不需要安装travis命令行工具或污染我的.travis.yml
(因此上面的配置文件不包含secure
选项),但您可以选择其他方式。