0%

使用 Travis CI 自动部署 Github Pages

Travis CI 介绍

Travis CI 是在软件开发领域中的一个在线的,分布式的持续集成服务,用来构建及测试在GitHub托管的代码。

注册账户

Travis CI 可使用Github账户登录

travis 配置

在博客项目根目录创建.travis.yml配置文件

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
language: node_js

sudo: false

node_js:
- "node"

cache:
apt: true
directories:
- node_modules

env:
# - CXX=g++-4.8

addons:
# apt:
# sources:
# - ubuntu-toolchain-r-test
# packages:
# - g++-4.8
ssh_known_hosts: github.com

install:
- npm install

before_script:
- git config --global user.name "Jonkimi"
- git config --global user.email "<your-email>"
- sed -i'' "[email protected]:Jonkimi/jonkimi.github.io.git~https://${GH_TOKEN}@github.com/Jonkimi/jonkimi.github.io.git~" _config.yml
- git clone -b master https://github.com/Jonkimi/jonkimi.github.io.git .deploy_git # 此配置用来保留jonkimi.github.io项目的提交记录

script:
# - npm run eslint
- hexo g
- hexo deploy --silent


branches:
only:
- hexo

deploy:
provider: pages
skip_cleanup: true
keep-history: true
local_dir: public
github_token: $GH_TOKEN # Set in travis-ci.org dashboard
on:
branch: hexo
repo: jonkimi/jonkimi.github.io
target_branch: develop
fqdn: jonkimi.com

开启持续集成

在travis-ci网站的profile页面添加需要持续集成的功能。

配置

在 Github 的 Personal access tokens 界面申请公开仓库权限 token

Github personal access token

获取到 token 后到 travis-ci 项目配置界面添加环境变量GH_TOKEN,设置 Buid 出发条件。

travis-ci 项目添加环境变量

至此完成配置,每次仓库提交到Github上时,都会出发持续集成,依靠.travis.yml中的脚本配置自动部署提交代码到Github Pages 仓库。

参考