在Travis CI中自动构建Mkdocs文档

时间:2018-06-16 21:45:10

标签: python continuous-integration travis-ci mkdocs

我如何在Travis CI中自动部署我的Mkdocs文档?

2 个答案:

答案 0 :(得分:7)

以下是如何自动部署mkdocs文档的方法。只需按照以下3个步骤操作即可。

第1步

只需将以下代码段插入.travis.yml配置文件中各自的位置:

language: python # Set the build language to Python

python: 3.6 # Set the version of Python to use

branches: master # Set the branch to build from

install:
    - pip install mkdocs # Install the required dependencies

script: true # Skip script (Don't use this if one already exists)

before_deploy:
    - mkdocs build --verbose --clean --strict # Build a local version of the docs

deploy: # Deploy documentation to Github in the gh_pages branch
    provider: pages
    skip_cleanup: true
    github_token: $github_token
    local_dir: site
    on:
        branch: master

第2步

如果您使用的是非mkdocsreadthedocs的mkdocs主题,请按照以下步骤进行安装:

  • 场景1:主题可通过点播安装(例如mkdocs-material

    1. pip install mkdocs附加到您需要安装的其他软件包,例如mkdocs-material pip install mkdocs mkdocs-material pymdown-extensions pygments
  • 场景2:主题可通过点播安装(例如docskimmer

    1. --strict移除mkdocs build --verbose --clean --strict参数,以禁止使用不能通过pip安装主题的错误。

    2. before_deploy

    3. 上方mkdocs build --verbose --clean部分添加设置主题所需的代码

      before_deploy部分中的代码对于docskimmer看起来像这样:

      before_deploy:
          - git clone https://github.com/hfagerlund/mkdocs-docskimmer.git # Clone the repo hosting the code
          - cp -r $PWD/mkdocs-docskimmer/mkdocs_docskimmer . # Copy the required code to the repo root
          - cp -r $PWD/mkdocs-docskimmer/mkdocs_docskimmer/. ./docs # Copy the required code to the docs folder
          - mkdocs build --verbose --clean # Build a local version of the docs
      
        

      通过pip无法安装的主题可能会有所不同。

第3步

最终步骤是告诉Travis CI登录GitHub帐户以推送更改所需的凭据:

  1. 如果您已经设置了具有public_repo范围的个人访问令牌,请跳至步骤11
  2. 转到this网址。如果加载,请跳至步骤7.否则,照常继续执行这些说明。
  3. 转到Github帐户的settings
  4. 点击Developer settings
  5. 点击Personal access tokens
  6. 点击Generate new token
  7. 您可能需要输入GitHub密码才能授权创建
  8. Token description下,选择令牌的名称 - 它可以是任何内容;我将其命名为Travis CI,因为您可以根据需要重复使用令牌。
  9. 启用public_repo范围/权限
  10. 点击页面底部的Generate token
  11. 转到要为其构建Mkdocs文档的Travis CI存储库的设置
  12. 使用以下设置创建环境变量:
    • 姓名:github_token
    • 价值:<THE TOKEN YOU JUST GENERATED>
    • 在构建日志中显示值:No
  13. 点击add
  14. 后记

    你完成了!请随时在评论中向我提问。

    此外,如果该方法停止工作或无法正常工作,请在评论中告诉我,我会尽快解决。

答案 1 :(得分:0)

使用Travis部署MkDocs网站非常简单 (考虑到您正在使用物质主题)

第1步:使用3个空白分支(分别称为master,dev和gh-pages)为您的项目创建存储库。

第2步:克隆存储库和本地,并检出到dev分支。         将您的MkDocs网站添加到本地的dev分支中。         将'/ site'目录添加到git-ignore。(即,不要推送.html)         在仓库中添加下面给出的.travis.yml。         将您的网站推送到开发分支。

第3步:从dev分支提出对master的拉取请求 第4步:登录Travis并在此处连接您的存储库,         在travis中添加env变量'git_token'(用于.travis.yml),可以得到它的值         来自github.com->设置->开发设置->个人访问令牌。 第5步:完成/合并请求到master。它将触发web挂钩,Travis将开始构建。构建后,您生成的html文件将被推送到gh-pages分支。 第6步:转到存储库设置并设置git-hub pages网站以从gh-pages分支加载。

完成

.travis.yml `language:python#将构建语言设置为Python

python:3.6#设置要使用的Python版本

分支机构:master#设置要从中构建的分支

安装:     -pip install mkdocs mkdocs-material pymdown-extensions pygments#安装所需的依赖项

script:true#跳过脚本(如果已经存在,请勿使用此脚本)

before_deploy:     -mkdocs build --verbose --clean --strict#构建文档的本地版本

部署:#将文档部署到gh_pages分支的Github中     提供者:页面     skip_cleanup:是     github_token:$ github_token     local_dir:站点     上:         分行:硕士 `