docusaurus 是facebook 开源的一款文档脚手架工具,可以快速的进行文档生成,基于markdown
同时已经内置了gh-pages 发布的命令,对于ci 工具,我们只需要简单的配置就可以了

环境准备

  • 创建github空项目
    很简单直接鼠标点击就可以了
  • 创建docusaurus demo站点
npx docusaurus-init
  • 修改名称
    docusaurus 有自己的项目布局要求,修改之后的如下
  • 配置修改
    因为使用gh-pages 存在一个资源加载路径的问题,docusaurus 很不错已经帮助我们提供了配置了,只需要修改就可以了
    如下:
./website/siteConfig.js

添加circleci 集成

  • 添加ci集成
    这个可以打开circleci 网站进行授权,或者通过github 市场添加
  • 配置circleci 构建文件
    circleci 有自己的构建路径说明

    mkdir .circleci
    touch config.yml
    内容如下:
    version: 2
    jobs:
    build:
    docker:
    - image: circleci/node:8.11.4
    filters: ## 分支过滤,很重要,不然gh-pages 会报错, branches:
    only:
    - master
    steps:
    - checkout
    - run:
    name: Deploying to GitHub Pages
    command: |
    git config --global user.email "1141591465@qq.com" ## git 的一些配置
    git config --global user.name "rongfengliang"
    echo "machine github.com login rongfengliang password $GITHUB_TOKEN" > ~/.netrc ## 基于github token 的登录
    cd website && yarn install && GIT_USER=rongfengliang yarn run publish-gh-pages ## npm script 执行

    说明:
    GIT_USER 用户比较重要,同时注意权限的设置,需要具有write 的权限,GITHUB_TOKEN 是一个环境变量,可以在circleci 构建
    环境变量配置界面添加

构建&&查看效果

  • 添加circleci 构建
  • 构建
    修改代码,提交,就会触发构建
  • 效果
  • 构建好的gh-pages

  • 说明
    如果提示gh-pages 不存在,可以手工创建,并删除代码,提交就可以了

参考资料

https://github.com/graphql-faas/continuous-api-management
https://docusaurus.io/docs/en/publishing
https://circleci.com/docs/

 
 
 
 

docusaurus 生成的website 通过circleci部署gh-pages的更多相关文章

  1. vs自己主动生成的WebService配置文件在部署到IIs6后,服务调用失败的解决方法

    近日.在项目中须要引用java公布的WebService,加入服务引用后,调用一切正常. 配置例如以下: <system.serviceModel> <bindings> &l ...

  2. Linux(Centos)部署Jenkins,并配置Git生成Jar包进行发布部署

    需要先安装jdk.maven.git环境 jdk安装:https://www.cnblogs.com/pxblog/p/10512886.html maven安装:https://www.cnblog ...

  3. Windows使用Node.js自动生成Vue.js模版环境部署步骤-----记录

    node.js官网下载并安装node 进入node文档目录下,运行cmd 输入 node -v 查看node版本 出现表示安装完成 输入 npm -v 显示npm版本信息 安装cnpm 输入 npm ...

  4. SharePoint2007 开发部署Application Pages

    介绍:SharePoint应用程序页,也就是_layouts路径下的aspx页面,服务器C:\Program Files\Common Files\Microsoft Shared\web serve ...

  5. 使用 circleci 自动部署 vuepress 到 github

    概述 今天我想把博客什么的搬到 github 的 vuepress 上面.但是每次提交 md 文件需要手动打包然后再提交到 github 的 gh-pages,非常麻烦.所以我去研究了一下用 circ ...

  6. ASP.NET生成WORD文档,服务器部署注意事项

    网上转的,留查备用,我服务器装的office2007所以修改的是Microsoft Office word97 - 2003 文档这一个. ASP.NET生成WORD文档服务器部署注意事项 1.Asp ...

  7. [ExtJS5学习笔记]第三十一节 sencha extjs 5使用cmd生成的工程部署到tomcat服务器

    本文地址:http://blog.csdn.net/sushengmiyan/article/details/42940883 本文作者:sushengmiyan ------------------ ...

  8. Jenkins持续部署-自动生成版本号

    目录 Jenkins持续部署-自动生成版本号 目录 前言 目的 详细流程 获取SVN Reversion 获取需求号 设置编译前读取版本号 总结 参考文献 Jenkins持续部署-自动生成版本号 目录 ...

  9. Django学习之天气调查实例(3):部署静态文件CSS、JS、images等(部署环境基于Ubuntu)

    在设计登录界面时,采用了网上下载的登录模板,漂亮,简易.但是在测试和部署时,发现原来模板中采用的js文件和css文件,却着实让我折腾了好几天. 在以往的网页设计中,一般只要把测试站点开启后,网页中的静 ...

随机推荐

  1. 3.8 C++继承机制下的析构函数

    参考:http://www.weixueyuan.net/view/6365.html 总结: 构造函数的执行顺序是按照继承顺序自顶向下的,从基类到派生类,而析构函数的执行顺序是按照继承顺序自下向上, ...

  2. 接触到的加密算法MD5、SHA1(转)

    参考链接: https://blog.csdn.net/u012611878/article/details/54000607 https://blog.csdn.net/worm0527/artic ...

  3. js replace

    <script type="text/javascript">// replace() 方法执行查找并替换操作,有两个参数,第一个是查找的正则表达式,第二个是callb ...

  4. Day11作业及默写

    1.写函数,传入n个数,返回字典{'max':最大值,'min':最小值} 例如:min_max(2,5,7,8,4) 返回:{'max':8,'min':2}(此题用到max(),min()内置函数 ...

  5. strcmp,stricmp

    strcmp,stricmp:原型:int strcmp(const void *s1, const void *s2);功能:比较字符串s1和s2是否相同,区分大小写. 说明:如果s1=s2则返回零 ...

  6. js实现瀑布流以及加载效果

    一.瀑布流是个啥? 瀑布流,是比较流行的一种网站页面布局,视觉表现为参差不齐的多栏布局,随着页面滚动条向下滚动,这种布局还会不断加载数据块并附加至当前尾部. 最早采用瀑布流布局的网站是Pinteres ...

  7. str 类型

    1.capitalize():首字母大写 2.center(size,fillwith): 3.count(sub,start,end):计算子序列的个数 4.decode() 5.encode() ...

  8. 【一题多解】Python 字符串逆序

    https://blog.csdn.net/seetheworld518/article/details/46756639 https://blog.csdn.net/together_cz/arti ...

  9. Java 容器的使用及数组、List、Set 的相互转换

    0. Utils 字符串数组的排序: Set<String> set = new TreeSet<String>(); Collections.addAll(set, args ...

  10. scrapt中的数据提取,采用js2xml库

    这个一个爬去美团的例子,应为数据都是在script中,小心封ip,尽量少运行. 先导入库几个库 import requests from bs4 import BeautifulSoup from l ...