基于Github和TravisCI
都是墙外工具,可能速度偏慢;
在部署过程会有不同的方法:使用hexo d
进行部署和在public
文件夹下直接push到GithubPage仓库;
Coding的请参考这篇>>
Github建立个人博客
下面步骤也是最简单的在Github上面搭建博客的流程:
1.注册Github账号,创建与用户名同名的仓库名;
2.生成Git密钥对,并保证能够连通git@github.com;参考链接
3.PC端打开命令行工具(定位到博客根目录)分别运行以下命令:
npm install -g hexo --save #hexo基于node.js,需提前安装,此步骤是安装hexo;
npm install -g hexo-cli --save #可选择安装,非必须;
hexo init #初始化;
hexo new #创建一篇新文章,改文章会存放在`source-->_posts`文件夹之下;
hexo generate #构建博客,同hexo g
npm install -g hexo-depoyer #安装hexo部署器
# 修改hexo配置文件`_config.yml`,添加如下代码:
deploy:
type: git
repo:
coding: git@github.com:username/username.git
hexo deploy #部署博客,同hexo d
hexo server #开启本地服务
进入username.github.io查看博客情况;
配置TravisCI
1.使用Github账号授权登录;
2.找到并开启username的仓库
3.授权:
a.Github设置中创建Personal access tokens:
Github设置中创建Personal access tokens:1
Github设置中创建Personal access tokens:1
Github设置中创建Personal access tokens:1
b.将token添加到TravisCI的对应项目中:
将token添加到TravisCI的对应项目中:
4.配置TravisCI配置文件
.travis.yml
,添加如下代码:
language: node_js
node_js: stable
# S: Build Lifecycle
install:
# - npm install -g hexo
# - npm install -g hexo-deploy-git
- npm install
before_script:
# - npm install -g gulp
# - npm install -g hexo
- hexo -v
script:
- hexo g
after_script:
- cd ./public
- git init
- git config user.name "yincheng0807"
- git config user.email "yincheng0807@163.com"
- git add .
- git commit -m "Update blog!"
- git push --force --quiet "https://${GITHUB_TOKEN}@${GH_REF}" master:master #GITHUB_TOKEN为在TravisCI中添加的来自Github的授权Token,见上一步
branches:
only:
- hexo
# 创建全局变量,与GithubPage仓库ssh地址一致
env:
global:
- GH_REF: git@github.com:yincheng0807/yincheng0807.github.io.git
关联githubPage仓库:
1.删除博客源文件根目录下的.git
文件夹,这个文件夹是hexo的.git
;
2.打开Git Bash
,执行:
git init;
git remote add origin
git@github.com:username/username.git
此时位于master分支
在pages仓库创建博客源文件分支hexo:
1.创建hexo分支:
git checkout -b hexo;
git pull origin hexo;
git add .;
git commit -am "test";
git push origin hexo;
至此push到远成仓库之后就能自动触发TravisCI;
p.s.另一种方式的构建,替换配置TravisCI第四步中代码:
language: node_js
branches:
only:
- hexo #源码分支名称
before_install:
- npm install -g hexo
- npm install -g hexo-cli
before_script:
- git config --global user.name 'yourname'
- git config --global user.email 'youremail'
- sed -i'' "s~git@github.com:<yourname>/<projectname>.git~https://${REPO_TOKEN}:x-oauth-basic@github.com/<yourname>/<projectname>.git~" _config.yml
install:
- npm install
script:
- hexo clean
- hexo generate
after_success:
- hexo deploy
网友评论