搭建步骤
- 在本地完成 hexo 博客的初始化
- 在服务端完成 git 仓库的初始化
- 使用 git 一键部署
在本地搭建 hexo
- 安装 hexo-cli
- 初始化 hexo 博客
- 安装 git 部署插件
1
| yarn add hexo-deployer-git
|
至此 hexo 的本地初始化已完成,使用hexo server
可在本地启动一个服务,用于测试预览博客。
在服务端建立 git 仓库
- 安装 git
1
| sudo apt-get install git
|
- 建立 git 裸库
1 2 3
| sudo mkdir /var/repo cd /var/repo sudo git init --bare blog.git
|
- 添加 git hook 用于同步网站根目录
1 2
| cd /var/repo/blog.git/hooks sudo vim post-receive
|
输入以下内容
1 2
| #!/bin/sh git --work-tree=/var/www/hexo --git-dir=/var/repo/blog.git checkout -f
|
注意修改 work-tree 的路径
添加权限
1
| sudo chmod +x post-receive
|
- 创建 git 账户
此处我使用了Ansible
来快速自动化完成创建
关键代码如下
1 2 3 4 5 6 7 8 9 10 11 12 13
| - name: add git user become: yes user: name: git shell: /usr/bin/git-shell group: git - name: add ssh key become: yes authorized_key: user: git key: "{{ item }}" with_file: - ~/.ssh/id_rsa.pub
|
出于安全考虑,建议将 git 账户的shell
设置为git-shell
- 修改 git 库的权限
1
| sudo chown -R git:git blog.git
|
修改本地_config.yml
在_config.yml 找到 deploy,加入以下代码
1 2 3 4
| deploy: type: git repo: git@serverip:/var/repo/blog.git branch: master
|
部署
在本地执行
至此,已完成博客的部署