hexo 结合 travis 实现静态页面的自动部署

1. 部署hexo

参见官方教程 hexo

2. 提交git

分别将生成的静态页面和项目本体提交到不同的分支

例如: 静态页面 项目分支

3. 自动发布静态文件

Travis CI官网利用github账号登录

将当前的项目添加为自动构建的仓库

打开 Build only if .travis.yml is presentBuild pushes 选项

利用 ssh-keygen -t rsa -C “例子@gmail.com” 生成id_rsa和id_rsa.pub

将.pub文件内容添加到 github 项目 settings > Deploy keys 处,记得勾选 Allow write access

安装travis命令行

gem install travis
travis login --auto
travis encrypt-file id_rsa --add
# 将id_rsa加密
# 产生.enc文件

在项目文件夹建立.travis文件夹,将生成的.enc文件放入其中,同时添加ssh_config文件,填写一下内容

Host github.com
    User git
    StrictHostKeyChecking no
    IdentityFile ~/.ssh/id_rsa
    IdentitiesOnly yes

添加部署文件 .travis.yml

language: node_js
sudo: false
branches:
  only:
  - dev
before_install:
- openssl aes-256-cbc -K $encrypted_24f627a79d15_key -iv $encrypted_24f627a79d15_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 'hiramgao'
- git config --global user.email [email protected]
install:
- npm install hexo-cli -g
- npm install
script:
- npm run deploy
cache:
  directories:
  - node_modules

最后 提交到github 会自动构建并发布页面

对了,Windows 有坑

参考 我的博客

你可能感兴趣的:(hexo 结合 travis 实现静态页面的自动部署)