hexo+Travis-ci+github构建自动化博客
来源:互联网 发布:株洲知明培训学校 编辑:程序博客网 时间:2024/05/21 09:58
在mac上 用hexo+Travis-ci+github构建自动化博客。
Travis CI:是目前新兴的开源持续集成构建项目,它与jenkins,GO的很明显的特别在于采用yaml格式,简洁清新独树一帜。目前大多数的github项目都已经移入到Travis CI的构建队列中,据说Travis CI每天运行超过4000次完整构建。
说一下我对Travis 的理解。tarvis-ci是远端服务器构建,跟jenkins 不一样,不用自己搭建一个jenkins服务器。tarvis-ci是用的远端官方提供的服务器。用hexo 搭建博客,然后将博客源码提交到 git上,用travis-ci 编译git 上的源码,然后将编译后的文件,推送到Github.io仓库下,达到自动化编译构建。
构建自动化博客的步骤
由于需要搭建hexo 和本地搭建Travis 所以本地需要有ruby 和 node 环境。本地搭建Travis 是为了和Travis-ci 服务器进行加密解密获得密匙,获得一次即可。
1.安装rubu 和node.js
2.搭建hexo
3.安装 travis
4.配置git 的ssh key
5.配置Travis
6.验证
1.安装ruby和node
我是通过brew安装 ruby 和node 的,(如果brew 没有安装请参考mac安装brew)在终端执行命令
brew install ruby brew install node
2.搭建hexo
此处参考博客
hexo+github 分分钟搭建博客
博客搭建成功后在github 的527515025.github.io 仓库下新建travis分支,并将博客源码(未编译过的代码)提交到该分支,用于以后Travis-ci编译使用。
3.安装 travis
brew和node安装成功后执行下面命令安装travis
gem install travis
4.配置git 的ssh key
参考
SSH连接GitHub、GitHub配置ssh key
5.配置Travis
travis安装成功后就需要配置travis了,配置travis比较麻烦主要有如下步骤
(1):进入travis官网Travis 官网传送门用github账号登陆Travis CI
(2 ):在右上角你的账户名点击进入 account,在Repositories tab页点击Sync now同步你的github项目。选中项目将默认的off改变为on开启项目的持续集成。
(3):在你项目的根目录建立一个.travis文件夹
$ cd 博客项目文件夹根目录$ mkdir .travis
(4)复制id_rsa 和 创建 ssh_config文件
$ cd 博客项目文件夹根目录/.travis$ cp ~/.ssh/id_rsa ./
(5)创建 ssh_config 文件
$ cd 博客项目文件夹根目录/.travis$ touch ssh_config
编辑 ssh_config ,输入以下信息
$ vi ssh_config //输入以下信息Host github.comUser gitStrictHostKeyChecking noIdentityFile ~/.ssh/id_rsaIdentitiesOnly yes
(6)travis 登陆
$ cd 博客项目文件夹根目录/.travis$ travis login --autoWe need your GitHub login to identify you.This information will not be sent to Travis CI, only to api.github.com.The password will not be displayed.Try running with --github-token or --auto if you don't want to enter your password anyway.Username: 527515025Password for 527515025: ************Successfully logged in as 527515025!
(7)加密操作
加密操作
在博客项目文件夹下对ssh的私钥进行加密
$ cd 博客项目文件夹根目录/.travis$ travis encrypt-file id_rsa --add
如图
此操作会生成加密之后的秘钥文件 id_rsa.enc,删除id_rsa密钥文件(私钥不能随便泄露)。
你的travis 目前上已经出现了下面加密解密key :
(点击第2步图中的仓库名可进入下图界面,点击setting可看到加密)
(8)在你项目的根目录建立一个.travis.yml文件,内容为:
此步是在我527515025.github.io仓库的travis 分支下编译源码。
(用第7步中Travis 生成的 encrypted_xxxxxxxxx_key -iv 和encrypted_xxxxxxxxx_iv 替换travis.yml 中openssl的 key 和 -iv)
language: node_jsnode_js:- '4'branches: only: - traviscache: directories: - node_modulesbefore_install:- openssl aes-256-cbc -K $encrypted_xxxxxxxxx_key -iv $encrypted_xxxxxxxxx_iv -in .travis/id_rsa.enc -out ~/.ssh/id_rsa -d- chmod 600 ~/.ssh/id_rsa- eval $(ssh-agent)- ssh-add ~/.ssh/id_rsa- cp .travis/ssh_config ~/.ssh/config- git config --global user.name "527515025"- git config --global user.email "527515025@qq.com"install:- npm install hexo-cli -g- npm install hexo-deployer-git --save- npm installscript:- hexo clean- hexo gafter_success:- hexo deploy
(9)_config.yml 配置如下:
这是将编译好的代码提交527515025.github.io 仓库的master分支
deploy: type: git repo: git@github.com:527515025/527515025.github.io.git branch: master
6.验证
此时部署已经成功,在项目源码中也就是travis 分支上提交一个新的博客(也就是一个.md文件)我门在travis-ci 网站上看到正在自动化构建
(黄色为正在构建,绿色为构建完成)
构建完成后就可以访问 xxxx.github.io 查看是否自动发布成功
- hexo+Travis-ci+github构建自动化博客
- HG - Hexo + GitHub + Travis CI = 自动部署博客实现
- 手把手教你使用Travis CI自动部署你的Hexo博客到Github上
- Gradle自动化构建到Travis-CI持续集成的理解
- 利用Travis CI 让你的github项目持续构建
- Hexo+github构建个人博客
- 【Hexo】Hexo+Github构建个人博客入门
- Travis-ci集成构建系统
- Hexo遇上Travis-CI:可能是最通俗易懂的自动发布博客图文教程
- 关于hexo + github快速构建个人博客
- GitHub Pages + Hexo构建博客及问题
- 利用Travis CI 让你的github项目持续构建(Node.js为例)
- 利用Travis CI 让你的github项目持续构建(Node.js为例)
- 【Hexo】Hexo+Github构建个人博客 (一):环境配置
- 【Hexo】Hexo+Github构建个人博客 (五):错误集
- 手把手教从零开始在GitHub上使用Hexo搭建博客教程(三)-使用Travis自动部署Hexo(1)
- 手把手教从零开始在GitHub上使用Hexo搭建博客教程(四)-使用Travis自动部署Hexo(2)
- [小题大做] Github + Jenkins 实现自动化部署 hexo 博客静态文件
- ubuntu 龙芯 qt 交叉编译
- Stm32库函数里的断言机制解析
- ZCMU—1125
- Open Source Trading Platforms (Master List)
- 一种新型的APP运营方法--APP个性化安装
- hexo+Travis-ci+github构建自动化博客
- 嵌入式linux开发环境搭建(二)
- SparseArray浅析
- 网页中输出漂亮格式的Php数组神器
- git学习--从本地项目到远程项目(github)
- ZCMU—1126
- oracle 自带方法 的 用法
- springmvc配置responsebody返回json格式数据
- 数据结构学期期末总结—力量源自真实,那就坚持吧