其他分享
首页 > 其他分享> > Travis CI自动部署Hexo博客

Travis CI自动部署Hexo博客

作者:互联网

为了方便博客管理,我是将博客源码放在resource分支,最终生成部署的页面文件放在master分支,每次更新博客都需要先提交博客文件,然后手动部署到GiHub Pages,次数一多就显得麻烦,而且还容易出错。那么有没有一种方法让这个过程自动化,在提交完博客文件后自动帮我们编译部署文件到GitHub上呢?很幸运有现成的工具可供使用,使用Travis-CI就可以将整个过程自动化,下面借用一张图片来说明Travis_CI的作用

准备工作

告诉Travis怎样编译我们的项目

在Hexo站点目录,也就是.config.yml文件同级目录,创建一个名为.travis.yml的文件

language: node_js # 语言
node_js: stable # node.js版本
cache:          # 缓存,加快下次编译速度
  directories:
    - node_modules

branches:      # 监控 resource分支,此分支发生变化就启动一次新的构建
  only:
    - resource

before_install:  # 和自己电脑上安装的hexo-cli一样,也需要安装依赖环境
  - npm install -g hexo-cli

install:
  - npm install
  - npm install hexo-deployer-git --save
    
script:        # 编译Hexo
  - hexo clean
  - hexo generate

after_script:  # 编译完成后推送到GitHub上
  - git config user.name "wrxiang"  
  - git config user.email "wrxiang@163.com"
  
  #将.config.yml中的文字`Travis`替换为环境变量中的{Travis}代表的那串密码
  - sed -i "s/Travis/${Travis}/g" ./_config.yml  
  - hexo deploy

我们还需要修改_config.yml文件的deploy节点

#修改前
deploy:
  - type: git
    repo: git@github.com:wangruix/wangruix.github.io.git
    branch: master
#修改后
deploy:
- type: git
  # 下方的gh_token会被.travis.yml中sed命令替换
  repo: https://Travis@github.com/wangruix/wangruix.github.io.git
  branch: master

最后将新创建的.travis.yml文件提交到源码路径

我们就可以新增一篇博客,完成后将博客提交到源码分支,然后就可以到Travis查看构建情况,Job log中可以查看详细的构建日志

Travis构建完成后会将生成的文件推送到Github上,这样我们只需要提交博客的源文件,然后Travis帮我们完成构建部署过程,博客发布更新更加方便了。

参考文章

Travis CI使用经验
用TravisCI持续集成自动部署Hexo博客的个人实践

标签:CI,git,hexo,Hexo,博客,Travis,yml
来源: https://www.cnblogs.com/wrxiang/p/15145426.html