跳至主要內容

利用 travis 通过 Hexo 在 Github 上自动部署 Markdown 文档

JI,XIAOYONG...大约 3 分钟ci

前言

本文介绍了一个只需要更新 Markdown 文档到 Github,即可实时更新博客内容的方法。

本文参考这篇文章open in new window 实现,并根据我的需求更改了部分内容,以实现部署多个 hexo 工程到同一 Github 项目不同目录下

Github 为我们提供了Github Pagesopen in new window 方便我们建立简单的网页来介绍项目,很多时候我们用他来搭建静态博客。

通过Hexoopen in new window可以将我们写的Markdown文档格式化为静态网页,再将其部署到 Github 上面对应的user_name.github.io上面,就可以拥有一个在线的静态博客。

但是受 Hexo 的限制,每次更新博客内容都需要在更新完 Markdown 文档后,都需要再次重新创建对应的静态网页、将更新提交到 Github。这样的步骤繁琐且没有意义,而且更换电脑后这些环境都需要重新设置一次。

通过travisopen in new window提供的免费 CI 技术,可以让云服务器代替我们实现 Hexo 创建以及同步 Github 等步骤,每次更新博客时只需要将写好的 Markdown 文档推送到 Github 项目对应目录中,等待一会儿就可以看到更新后的博客了

具体搭建过程可以参考这篇文章open in new window 本文只讲述实现部署多个 hexo 工程到同一 Github 项目不同目录下需要注意的地方:。

懒——是第一生产力

具体差异

hexo 分支的结构

因为有多个 hexo 项目,所以在 github 项目的 hexo 分支下,对不同的 hexo 项目分别新建文件夹存放。

-- your_name.github.io //github项目,切换到hexo分支
  --hexo_project1 //本地hexo项目1的所有文件
  --hexo_project2 //本地hexo项目2的所有文件

.travis.yml

重点修改script:after_script:两部分:

script:
  # 1. 创建对应的静态博客内容
  - cd blog # 第一个本地 hexo 项目
  - hexo clean
  - hexo generate
  - cd ..
  - cd imissyou # 第二个本地 hexo 项目
  - hexo clean
  - hexo generate
  - cd ..

after_script:
  - git config user.name "jixiaoyong"
  - git config user.email "jixiaoyong1995@gmail.com"
  - cd ..
  - mkdir publish
  - cd publish
  # 2. 在这里再拉取 master 分支的文件,并删除旧的博客内容
  - git clone https://${GH_TOKEN}@github.com/jixiaoyong/jixiaoyong.github.io.git
  - rm -rf ./jixiaoyong.github.io/blog/*
  - rm -rf ./jixiaoyong.github.io/imissyou/*
    # 3. 将第 1 步生成的静态博客内容添加到 master 分支,并同步到 github 上面
  - cd ..
  - cp -rf jixiaoyong.github.io/blog/public/* publish/jixiaoyong.github.io/blog/
  - cp -rf jixiaoyong.github.io/imissyou/public/* publish/jixiaoyong.github.io/imissyou/
  - cd publish/jixiaoyong.github.io/
  - git add .
  - git commit -m "auto update by www.travis-ci.org"
  - git push

文档链接:.travis.ymlopen in new window

更新博客内容

当以上内容都配置完成后,只要新建一个符合 hexo 要求的文档,并提交到 Github 对应项目的 hexo 分支中source目录,Travis 便会自动帮我们创建并更新静态网页。

参考文档

Hexo 遇上 Travis-CI:可能是最通俗易懂的自动发布博客图文教程open in new window (完全在该文档指导下完成,部分步骤有差异,感谢作者MichaelXopen in new window

文章标题:《利用 travis 通过 Hexo 在 Github 上自动部署 Markdown 文档》
本文作者: JI,XIAOYONG
发布时间: 2018/12/20 22:35:34 UTC+8
更新时间: 2023/12/30 16:17:02 UTC+8
written by human, not by AI
本文地址: https://jixiaoyong.github.io/blog/posts/b00ac86a.html
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 许可协议。转载请注明出处!
你认为这篇文章怎么样?
  • 0
  • 0
  • 0
  • 0
  • 0
  • 0
评论
  • 按正序
  • 按倒序
  • 按热度
Powered by Waline v2.15.8