与Travis的页面上的Rustdoc

时间:2016-02-12 01:35:20

标签: github rust travis-ci

我已经使用cargo doc生成了文档for my project,它是在target / doc目录中生成的。我想允许用户在没有本地副本的情况下查看此文档,但我无法弄清楚如何将此文档推送到存储库的gh-pages分支。特拉维斯CI会帮我自动做到这一点,但我也无法让它工作。我跟着this guide,设置了.travis.yml文件和deploy.sh脚本。根据构建日志,一切都很顺利,但gh-pages分支永远不会更新。我的操作系统是Windows 7。

1 个答案:

答案 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选项),但您可以选择其他方式。