travis-ci 自动化部署hexo静态博客

travis-ci 自动化部署hexo静态博客

使用github pages的用户应该都有一个痛点, 就是要本地写好博文后再执行hexo c,hexo g,hexo d等命令, 特别是当博文数量多了的时候hexo g就要等待几分钟甚至更长时间,然后在hexo d 甚是烦恼.

查了资料, 有了travis-ci这个GitHub 的亲兄弟,就容易的多了, 只需3步配置,就可以享受持续集成自动部署博客的.

用户只需要在markdown原文上修改,然后pushgithub上去就可以了,

Step 1 GitHub 上配置

  1. 安装github app

    https://github.com/settings/installations

    image-20190825142940431

  2. 申请Personal access tokens

    转送门 -> https://github.com/settings/tokens

    在这里主要是设置github-token,让travis有权限读写github项目文件

    github上申请一个就好

    生产新的token的按钮.申请好后就会出现下面的那个.

    image-20190825143124613

    我勾选的设置,可以参考

    image-20190825143240304

Step 2 配置travis-ci

  1. https://travis-ci.org配置项目

    注意私有项目需要用https://travis-ci.com 这个是需要费用的.

    github账号登录https://travis-ci.org, 在右上角头像出现下拉框里面选择设置,

    然后找你博客源码所在项目, (我的项目放在tabris233.github.ioblog-source分支下,所以勾选这个项目,然后点后面的Settings)

    image-20190825140545978

    先在2上添加github-token值用刚刚申请好的哪一个, 后面在构建日志中展示值得选项可勾可不勾. 然后点add, 然后就会出现在1的位置.

    Ps: 3 是个定时构建, 看个人心情, 随意了.

    image-20190825141146382

  2. 要在项目根目录建立.travis.yml文件

    其实这个配置文件写的比较烂, https://travis-ci.orggithub\ pages有一个专门的配置yaml,

    我这个算是专门配置加原始配置杂交出来的….

    最后三行感觉没啥用,但是没有就是不行….

     language: node_js   # 指定运行环境
    
     node_js: '11'       # node环境的版本
    
     branches:           # 该shell脚本只对github的blog-source分支生效
       only: 
         - t'tblog-source
    
     git:                 # 克隆github上的项目到travis
       quite: true        # 为了不打印一些日志,故设为安静克隆
       depth: 1           # 只克隆最新的一次commit提交,最多可以克隆最新的30次提交,但是没必要
       submodules: true   # 不克隆子项目(避免再次克隆hexo主题)
    
     cache: yarn          # 缓存yarn命令也就是yarn add命令执行后的目录文件,即node_modules
    
     install: 
       - yarn global add hexo-cli # 在安装阶段,运行yarn命令来安装依赖
       - yarn
    
     script:
       - hexo clean
       - hexo generate
    
     deploy:              # 发布阶段
       provider: pages    # 解析支持者为github pages
       skip_cleanup: true # 必须打开,如果在travis构建期间你正在推代码,很可能误删你最新的上传代码
       github_token: $GITHUB_TOKEN  # 在travis的环境变量获取授权码,表示travis有权对github的项目进行拉取推送操作
       keep_history: true # 禁止travis对你的github项目进行强制推送 
       repo: tabris233/tabris233.github.io
       target-branch: master # 你推送到哪个分支.
       fqdn: tabris.top
       local_dir: ./public
       email: tabris.dq@qq.com
       name: tabris
       project_name: tabris_blog_travis-ci
       on:                 # 这个静态文件来自travis中的master分支
         branch: matery
         all_branches: true
    

Step 3 travis-ci执行任务

修改博文markdown 然后push上去就行了. 会看到这样的界面

包含构建日志什么的,最后会部署到github pagesmaster分支上

image-20190825141944578


 上一篇
python import python import
未完待续 python import研究​ python用了好久了, 对它的import规则一直都很懵,借此机会梳理下. 首先是导包.导入同目录下的包, 或者安装好的第三方模块, 或者python自带的模块 import modu
2019-08-26
下一篇 
csdn博文迁移至hexo心路历程 csdn博文迁移至hexo心路历程
某天我之前的`hexo`主题被自己玩坏了, 决定换一个主题, 同时突然想把之前`CSDN`博文迁移进来,CSDN这个网站是越来越傻逼了.最终选择了hexo-theme-matery主题, 但最艰难的博文迁移过程算是完成了,但仍然有很大瑕疵..
2019-04-18 tabris
  目录