hexo教程系列——使用Travis自动部署hexo

博客新址: http://blog.xuezhisd.top
邮箱:xuezhisd@126.com


本文介绍了如何使用Travis CI自动部署hexo,解决了家里和公司两地写博客的麻烦。本博客实现了博客仓库中的dev分支改动时,自动部署到master分支中。

说明

  • 为了在不同电脑上写完并提交博文后,博客能自动更新内容。本文介绍如何通过Travis CI来实现github上的hexo博客自动部署。
  • 本教程是在Windows 7上操作的。
  • 本教程使用了GitHub API实现,用到了Linux中的sed命令。

新建Personal Access Token

  1. 点击右上角头像旁边的三角,在菜单中点击“Setting”,进入设置页面。
    [外链图片转存失败(img-ihnYYFIz-1569400311906)(http://img.zhangxuezhi.com/v90uk9inuvo8yjywxj9gm5hjb5.png)]

  2. 点击左侧栏的最下面的“Personal access tokens”,创建Personal access tokens。
    [外链图片转存失败(img-psF3gg3b-1569400311908)(http://img.zhangxuezhi.com/syvhuszdqc8zoe5hncv99r8ntg.png)]

  3. 点击右上角的“Generate new token”,输入用户密码,进入“New personal access token”页面。
    [外链图片转存失败(img-JEayLc75-1569400311910)(http://img.zhangxuezhi.com/183vnbiixxadzm7bp75458dc59.png)]

  4. 设置Token description(其实就是名称),选择相应的权限,如下图所示。
    [外链图片转存失败(img-bEtzs7PL-1569400311916)(http://img.zhangxuezhi.com/brnxrllts6783vig9u5o0903k5.png)]

  5. 点击“Generate token”按钮,生成Personal access tokens。如下图中红线标注的部分。注意:这行token只会在刚刚创建完成后显示一次,以后不再显示。因此,复制并保存到本地。
    [外链图片转存失败(img-f9D5Tb0b-1569400311919)(http://img.zhangxuezhi.com/spb4526esm5qmhvocnn24f0i19.png)]

配置Travis CI

登录并配置Travis CI

  • Travis CI是目前新兴的开源持续集成构建项目。可以直接使用GitHub账号登录。
  • 将鼠标放在用户名上,在弹出的菜单中点击“Accounts”,将会显示你在GitHub上的仓库。如下图所示。
    图片名称
  • 找到自己的博客项目,点击X号,将其变成√号。再点击右侧的齿轮,进入该仓库的配置页面。
    [外链图片转存失败(img-fgaBWgBh-1569400311924)(http://img.zhangxuezhi.com/ylz1rd42kfubl160tqvemhgs0p.png)]
  • 在项目的设置中开启Build only if .travis.yml is present这一项。如下图所示。
    [外链图片转存失败(img-JKtGHr6B-1569400311925)(http://img.zhangxuezhi.com/vw68mu4fmciss8pkc6vgxu1t9b.png)]

本地安装Travis

  • 首先安装Ruby,直接官网下载,双击安装就OK了。
  • 在Windows下,安装travis之前,需要解决一个问题:SSL证书问题,否则不能成功安装。详情请点击该链接:参考教程
  • 修复好上述问题后,执行下面的命令安装travis。
# 安装travis
gem isntall travis

创建并修改配置文件

  1. 打开博客项目文件夹,在项目根目录新建.travis.yml配置文件。
cd 博客项目文件夹根目录
touch .travis.yml
  1. 执行下面的命令,加密上面生成的Personal access tokens,并添加到.travis.yml配置文件。
# 这里的 REPO_TOKEN 是变量名,在后面的配置文件中会用到
# TOKEN 是上面github生成的Token
travis encrypt 'REPO_TOKEN=<TOKEN>' --add
  1. 上述命令指向完后,.travis.yml配置文件的内容如下所示。
env:
  global:
    secure: F/gYu+bVe3aWs6YnuB5PNZLEmHH4CGf0najk8JI3/N+SFL0TH8tyYg+O1sXR3EIg.....省略.....iwr5HQG/G3fdL4JcXiAJIm/iH9ndDyGV5EGR1CmseNGNWrwnRZ7tlKE=
  1. 使用本地编辑器打开.travis.yml配置文件,将其修改成如下所示的内容。注意:有些内容是你自己的!!!
language: node_js
node_js:
- "4"  # nodejs的版本
branches:
  only:
  - dev  # 设置自动化部署的源码分支

# ------------------------------------------------
# 下面是你的Token加密信息,不要替换
# ------------------------------------------------
env:
  global:  
    secure: F/gYu+bVe3aWs6Yn.....省略..../iH9ndDyGV5EGR1CmseNGNWrwnRZ7tlKE=
    
before_install:
- export TZ='Asia/Shanghai'  
- npm install -g hexo
- npm install -g hexo-cli 
before_script:
# ------------------------------------------------
# 设置github账户信息 注意修改成自己的信息
# ------------------------------------------------
- git config --global user.name "xuezhisd"
- git config --global user.email xuezhi@126.com 
# ------------------------------------------------
# github仓库操作  注意将仓库修改成自己的
# ------------------------------------------------
- sed -i'' "s~git@github.com:xuezhisd/xuezhisd.github.io.git~https://${REPO_TOKEN}:x-oauth-basic@github.com/xuezhisd/xuezhisd.github.io.git~" _config.yml
# 安装依赖组件
install:
- npm install
# 执行的命令
script:
- hexo clean
- hexo generate
# 执行的成功后执行 
after_success:
- hexo deploy
至此,Travis CI已经配置完成了。

创建仓库,推送到GitHub

  • 新建仓库blog。
git init blog
cd blog
  • 将原来博客目录下的以下内容复制到blog文件夹中。
    [外链图片转存失败(img-H6EuoVdr-1569400311927)(http://img.zhangxuezhi.com/747d3iy0nq4a39mdnpdx57c51a.png)]
  • 修改.gitignore文件,取消对node_modules文件夹的忽略。(即删除对应的行)
  • 关联GitHub上的远程仓库。
# 将github仓库改为自己的博客仓库
git remote add origin git@github.com:xuezhisd/xuezhisd.github.io.git
  • 提交本地修改,推送到GitHub上。
# 添加文件到暂存区
git add .
# 提交修改
git commit -m "test travis"
# 推送至远程仓库的dev分支
git push -u origin dev
  • push本地的代码至远程仓库之后,在https://travis-ci.org 后台查看相关情况。如果如下图所示,就代表成功了。
    图片名称

参考博客

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值