[toc]
原理
在 github 上建立两个 repo, 一个用于放博客源码,假如名字是blog
, 另一个用于部署博客, 名字符合 username.github.io
格式,username 是你的 github 名。用户只需将 blog
clone 下来,将博客添加至对应目录,然后将此 rep push 至 github, 其他的都不用管,等一会便部署到 github pages 了。实际发生了什么呢,其实是用户 push 到 github 后,github 会自动发送通知到 travis, 然后 travis 就会按照用户的配置开始部署,它将项目 build 后就自动 push 到 username.github.io, 然后等会 github 就自动渲染了。
正文
一些设置
这里有一些设置,我本想自己写,但是发现有人已经写得很详细了。请自行查看
编写配置文件
在 Blog
根目录创建 .travis.yml
文件,此文件是告诉 Travis CI 如何部署你的博客, 查看了一些博客,但是均不可,于是我自己参考别人写了个。
#启动一个有 go 语言环境的容器
language: go
#go 版本
go:
- "1.8"
# 安装最新的hugo
install:
- wget https://github.com/gohugoio/hugo/releases/download/v0.51/hugo_0.51_Linux-64bit.deb
- sudo dpkg -i hugo*.deb
# 运行hugo命令
script:
- hugo
deploy:
#指定这是一份github pages的部署配置
provider: pages
skip_cleanup: true
# 在 travis-ci.org 上设置的 Token 的名字[需要改]
github_token: $GITHUB_TOKEN
on:
branch: master
#将生成静态内容到 public/ 下
local_dir: public
#github pages rep[需要改]
repo: edte/edte.github.io
#部署到 master 分支
target_branch: master
#使用帐号 deployment-bot
email: deploy@travis-ci.org
name: deployment-bot