本文适用于mac xos和windows通过ssh部署到git
前提:
- 注1:本文只分享通过命令hexo deploy部署到git在线仓库pages服务(github、gitlab、coding通用)
- 注2:本文不介绍hexo所需环境的安装、安装hexo、注册配置github&gitlab&coding、注册解析域名
- 本地搭建好hexo
- 已安装插件:hexo-deployer-git
- 已安装环境:git (没有安装git也可以github的GUI提交,但是我们获取ssh必须要git环境)
- 注3:本教程操作、撰写环境为强大的windows7
- 参照本文请只尝试github、gitlab、coding中任意一个,这里并没有测试3个平台一起
- 如果同一个平台下同个帐号有多个repo,只需配置repo的
_config.yml
文件即可,其他一气呵成 - 若本文有不合宜之处还望大神指出,有错必纠 ^_^
配置hexo的deployer-git相关信息
打开_config.yml文件,找到Deployment信息(默认在最下面)
从# Deployment
开始改成以下结构
1 | # Deployment |
branch:分支默认都是master
message:提交描述,这里已经注释掉
repo:填入你的SSH通信地址
SSH模式的repo获取方式,你的github、gitlab、coding代码主页顶端切换为SSH并复制
注:
- github、gitlab、coding的SSH信息都会略微不同
- deployer-git可以同时配置多个git,也就是说可以同时提交到github、gitlab、coding
生成SHH公钥
hexo目录【】按住Shift+鼠标右键】选择打开Git Bash Here
输入已下信息""
中信息替换为你个人的,设置name、email
1 | $ git config --global user.name "你GitHub、Gitlab、Coding使用的用户名" |
开始生成SSH密钥
经测试ssh和ssh-keygen命令在windows CMD是无法执行的,所以前面提到必须装git环境
就算装了git用windows CMD还是会提示:不是内部或外部命令,也不是可运行的程序或批处理文件。
所以还是要用Git Bash Here
1 | ssh-keygen -t rsa -C "你GitHub、Gitlab、Coding使用的邮箱" |
生成的SSH文件会存放在系统用户目录,会新增一个.ssh
文件夹,里面包含以下文件
- id_rsa (私钥)
- 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并认证
1 | ssh -T git@github.com |
测试gitlab
1 | ssh -T git@gitlab.com |
测试coding
1 | ssh -T git@git.coding.net |
执行后会打印确认信息,输入yes
之后会输出一些信息,其中包括git的ip和你的用户名
提交部署hexo
可以直接在之前的Git Bash 窗口执行
先生成
1 | hexo generate |
再提交
1 | hexo deploy |
注:也可以用快捷命令hexo g
和hexo d
成功hexo deploy提交Hexo到coding
扩展阅读
Relay Tips: 一极乐( https://yijile.com/log/591/ )