- 准备工作
- 操作步骤
- 配置版本号 lts/ 为最新版本, 我的项目只支持11.
- https://docs.travis-ci.com/user/languages/javascript-with-nodejs/">官网文档链接为 https://docs.travis-ci.com/user/languages/javascript-with-nodejs/
- 配置缓存
- 配置时区
- 在环境安装好之后执行命令来生成静态文件
- 生产静态文件
- https://your-gitHub-personal-access-token@your-repo-url。">通过如下格式的 url 访问来保证对仓库有操作权:https://your-gitHub-personal-access-token@your-repo-url。
- 由于我们前面把 GitHub Personal Access Token 和 GitHub Pages 仓库链接都写进了环境变量,所以直接通过环境变量引用就行了
- 如果博客备份仓库有多个分支的话,我们需要设置一下 Travis CI 监控哪一个分支的变动
- 验证
配置完成后可实现git上传代码后自动部署hexo页面
准备工作
- 本地已经初始化完成的hexo项目
- 该项目上传github后github地址
- 静态网页部署的github地址
仓库介绍
我的github内有两个仓库,blog
为hexo源代码仓库(私有),hexo-blog-html
为生成的静态页面仓库(公开);
如下图:
操作步骤
travis项目导入
打开 https://travis-ci.org 选择github
登录, 进入主界面. 在legacy services intergration
模块内选择博客源代码仓库点击右侧滑动按钮进行导入. (这个位置需要先将github
内项目设置为公开, 等导入后再设置为私有就行) 导入成功后点击settings
进入配置页面
travis配置
点击more option
然后点击setting
, 打开下方两个推送请求的开关
然后向下翻找到Environment Variables
模块追加环境便令
此处为通过设置环境变量来传递一些不便于写在配置文件中的值(密码、密钥之类的),在这里我们设置此处为通过设置环境变量来传递一些不便于写在配置文件中的值(密码、密钥之类的),在这里我们设置GH_TOKEN
和GH_REF
两个环境变量分别用来传递GitHub Personal Access Token
(获取方式后面说)和GitHub Pages 仓库地址.DISPLAY VALUE IN BUILD LOG
为是否在日志中显示参数值,可以选择打开
获取GitHub Personal Access Token
先到上方github页面内点击generate new token
会到下方页面内. 由于我们只需要能够对普通仓库 push 就行了,所以把 repo 部分勾上即可. 创建后将获取的token插入到travis的环境变量中
配置.travis.yml
在项目根目录下创建.travis.yml
文件, 进行配置 ```yaml language: node_js配置版本号 lts/ 为最新版本, 我的项目只支持11.
官网文档链接为 https://docs.travis-ci.com/user/languages/javascript-with-nodejs/
node_js:- 11
配置缓存
cache: directories:
- node_modules
配置时区
before_install:
- export TZ=’Asia/Shanghai’
在环境安装好之后执行命令来生成静态文件
install:
- npm install hexo-cli -g
- npm install
生产静态文件
script:
- hexo g
通过如下格式的 url 访问来保证对仓库有操作权:https://your-gitHub-personal-access-token@your-repo-url。
由于我们前面把 GitHub Personal Access Token 和 GitHub Pages 仓库链接都写进了环境变量,所以直接通过环境变量引用就行了
after_script:
- cd ./public
- git init
- git config user.name “yuyu”
- git config user.email “yuy9501@126.com”
- git add .
- git commit -m “Travis CI Auto Builder at $(date +’%Y-%m-%d %H:%M:%S’)”
- git push —force —quiet “https://${GH_TOKEN}@${GH_REF}“ master:master
如果博客备份仓库有多个分支的话,我们需要设置一下 Travis CI 监控哪一个分支的变动
branches: only:
- master
验证
提交代码后如果配置成功, travis会自动进行博客部署, 可在下方页面查看. 我在这一步失败过一次, hexo g
报错, 上网查阅资料后发现是配置的node版本过高, 修改版本为11就可以了