通过hexo deploy部署到git在线仓库pages服务(github、gitlab、coding通用)

本文适用于mac xos和windows通过ssh部署到git

前提:

  1. 注1:本文只分享通过命令hexo deploy部署到git在线仓库pages服务(github、gitlab、coding通用)
  2. 注2:本文不介绍hexo所需环境的安装、安装hexo、注册配置github&gitlab&coding、注册解析域名
  3. 本地搭建好hexo
  4. 已安装插件:hexo-deployer-git
  5. 已安装环境:git (没有安装git也可以github的GUI提交,但是我们获取ssh必须要git环境)
  6. 注3:本教程操作、撰写环境为强大的windows7
  7. 参照本文请只尝试github、gitlab、coding中任意一个,这里并没有测试3个平台一起
  8. 如果同一个平台下同个帐号有多个repo,只需配置repo的_config.yml文件即可,其他一气呵成
  9. 若本文有不合宜之处还望大神指出,有错必纠 ^_^

配置hexo的deployer-git相关信息

打开_config.yml文件,找到Deployment信息(默认在最下面)
# Deployment开始改成以下结构

# Deployment
## Docs: https://hexo.io/docs/deployment.html
deploy:
- type: git
  repo: 
  branch: master
  #message: 

branch:分支默认都是master
message:提交描述,这里已经注释掉
repo:填入你的SSH通信地址

SSH模式的repo获取方式,你的github、gitlab、coding代码主页顶端切换为SSH并复制
![获取SS和同学地址.jpg][1]

注:

  1. github、gitlab、coding的SSH信息都会略微不同
  2. deployer-git可以同时配置多个git,也就是说可以同时提交到github、gitlab、coding

生成SHH公钥

hexo目录【】按住Shift+鼠标右键】选择打开Git Bash Here

输入已下信息""中信息替换为你个人的,设置name、email

$ git config --global user.name "你GitHub、Gitlab、Coding使用的用户名"
$ git config --global user.email "你GitHub、Gitlab、Coding使用的邮箱"

开始生成SSH密钥

经测试ssh和ssh-keygen命令在windows CMD是无法执行的,所以前面提到必须装git环境
就算装了git用windows CMD还是会提示:不是内部或外部命令,也不是可运行的程序或批处理文件。
所以还是要用Git Bash Here

ssh-keygen -t rsa -C "你GitHub、Gitlab、Coding使用的邮箱"

生成的SSH文件会存放在系统用户目录,会新增一个.ssh文件夹,里面包含以下文件

  1. id_rsa (私钥)
  2. id_rsa.pub (公钥,一般用它)
    公钥文件可以用系统记事本或notepad++和其他代码编辑器打开
    复制好id_rsa.pub文件中的公钥将SHH公钥添加到你的git服务器

添加SSH公钥到git服务器

添加SSH公钥到Github

直达高速:https://github.com/settings/keys
操作路径:登录后》右上角头像旁下拉》Settings》左侧菜单:SSH and GPG keys》右上角按钮:New SSH key

添加SSH公钥到Gitlab

直达高速:https://gitlab.com/profile/keys
操作路径:登录后》右上角头像旁下拉》設定》左侧菜单:SSH金鑰
注:所选语言为繁体;菜单默认显示图标,点击菜单最下面箭头展开菜单文字

添加SSH公钥到Coding

直达高速:https://coding.net/user/account/setting/keys
操作路径:登录后》右上角头像旁下拉》个人设置》左侧菜单:SSH公钥

测试SHH公钥

可以直接在之前的Git Bash窗口执行

测试github并认证

ssh -T git@github.com

测试gitlab

ssh -T git@gitlab.com

测试coding

ssh -T git@git.coding.net

执行后会打印确认信息,输入yes
之后会输出一些信息,其中包括git的ip和你的用户名

提交部署hexo

可以直接在之前的Git Bash窗口执行
先生存

hexo generate

再提交

hexo deploy

注:也可以用快捷命令hexo ghexo d

成功hexo deploy提交Hexo到coding

![Hexo-deploy成功.png][2]

扩展阅读

Relay Tips: 一极乐https://yijile.com/log/591/