前言

由于本人只是将Hexo博客同时部署到 Github 和 Coding.net ,所以这里只介绍怎么同时部署到这两个网站的pages。
之所以选择这两个网站,是因为国外用户可以访问 Github,而国内用户可以访问 Coding.net。另外,Coding.net可以拥有自己的私人仓库。

修改站点配置文件

在站点根目录下找到 _config.yml文件,将里边的deploy节点修改成下边的形式:

# Deployment
## Docs: https://hexo.io/docs/deployment.html
deploy:type: gitrepo:github: git@github.com:{username}/{repository}.git,mastercoding: git@git.coding.net:{username}/{repository}.git,master

将上边的仓库url的{username}/{repository}改成自己的项目地址,这里使用的是SSH协议的Git仓库地址,即:

git@{domain}:{username}/{repository}.git

还有一种是HTTPS协议的Git仓库地址,即:

https://{domain}/{username}/{repository}.git

一般推荐使用SSH协议的地址,因为可以免去每次push都要输入账号密码的繁琐,而且也够安全。

在 Github 和 Coding.net 上各自创建一个仓库

如果我们只是将项目部署到某一个代码托管站点而已,那么该项目仓库的名字可以随便起;但是现在我们需要将项目同时部署到 Github 和 Coding.net 上,那就不能随意命名了。

我们需要采用特定的命名方式,才能正确将Hexo博客同时部署到这两个站点上;否则很可能会导致只有博客的主页能访问到,而其他的路径全部失效。

仓库的命名

对于 Coding.net,你可以选择建立一个私人仓库来部署自己的Hexo博客,不过和 Github 不同的地方在于:

Github 的仓库名要命名为:

{username}.github.io

而 Coding.net 的仓库名要命名为:

{username}

这里的 username 指的是你在这两个网站上的用户名,只有以这种命名形式的仓库,才能够不通过子域名的形式来访问我们的博客。

比如说,我的 Github 和Coding.net 的账号都是lewky,那么在部署博客成功后,我就可以通过下边的url来访问我的Hexo博客:

https://lewky.github.io/
https://lewky.coding.me/

如果将仓库名命名为其他的形式,比如:hexo-blog,那么要访问该博客,就需要输入下边的url:

https://lewky.github.io/hexo-blog
https://lewky.coding.me/hexo-blog

这里的仓库名hexo-blog就变成了子域名,于是问题就来了,对于存在子域名的Hexo博客,需要在站点配置文件里配置url节点:

# URL
## If your site is put in a subdirectory, set url as 'http://yoursite.com/child' and root as '/child/'
url: http://yoursite.com
root: /
permalink: :year/:month/:day/:title/
permalink_defaults:

如果不配置这里的url节点,会导致除了首页以外的所有页面都请求404;但是我们由于是同时部署在两个网站上,其父域名是不一样的,那么这里的url节点也就只能配置一个而牺牲另一个了;但是如果你有自己的域名,就可以解决这个问题了:直接在这里配置自己的域名就行了。

配置 SSH key

创建RSA密钥对

使用 Git Bash 生成RSA密钥对:

ssh-keygen -t rsa -b 4096 -C "your_email@example.com"

看到提示就按一次回车,在连续三次回车后,就表示创建成功了。

接着将 ~/.ssh 目录下将里边的 id_rsa.pub 文件里的内容复制到剪切板。

Github 配置 SSH key

登陆 Github 的账号:

  • 进入 Settings 页面
  • 选择 SSH and GPG keys
  • 点击 New SSH key
  • 填写 Title(用来给公钥起一个名字,以便和其他的公钥区分开来)
  • 然后在 Key 里将我们刚刚复制的公钥复制进去
  • 最后点击 Add SSH key,这时候 GitHub 会要你输入账号密码进行确认。

Coding.net 配置 SSH key

Coding.net 和 Github 有些不一样,Coding.net存在账户公钥和部署公钥;

  • 账户公钥配置后拥有账户下所有项目的读写权限
  • 部署公钥配置后默认拥有该项目的只读权限,如果需要获取推送权限,需要勾选部署公钥设置里的『授予推送权限』

登陆 Coding.net 的账号:

  • 进入个人设置
  • 选择 SSH 公钥
  • 选择新增公钥
  • 填写公钥名称和内容
  • 添加后输入输入账号密码进行确认

验证 SSH 连接

使用 Git Bash 输入:

ssh -T git@github.com

第一次连接时会问你是否继续连接,输入 yes 即可;接下来验证 Coding.net 的ssh连接:

ssh -T git@git.coding.net

同样输入 yes 即可。

如果按照前边说的来配置,这里的 SSH 验证应该都是没问题的。

接下来只要撰写博文,然后使用命令进行部署就行了:

hexo clean
hexo g -d

转载于:https://www.cnblogs.com/yulinlewis/p/9595352.html

Hexo瞎折腾系列(6) - 将博客同时部署到Github和Coding相关推荐

  1. 使用hugo生成静态博客并部署在GitHub上

    使用hugo生成静态博客并部署在GitHub上 hugo是一个用Go语言编写的静态网页生成器,只需要一个命令 hugo 就可以在几秒钟内生成一个静态的博客页面,被称为世界上最快的网站构建框架,使hug ...

  2. 安装Hexo博客并部署到GitHub或云服务器(细节教程,越过各种坑)

    前言 心血来潮买了云主机,浪费了几个月都没用,然后就学着搭建博客,对比了一下 WordPress 和 Hexo 之后,随性选择了以 Hexo 为框架搭建博客平台. 经过了几次的从零开始,遇到了各种各样 ...

  3. Hexo瞎折腾系列(8) - 添加评论系统

    前言 Hexo的NexT主题本身就集成了一些评论系统,多说啊之类的已经关闭服务的略过不提,目前比较多人用的有畅言.来必力livere.Gitment.Gitalk.Disqus等. 我刚用的评论系统的 ...

  4. Hexo瞎折腾系列(5) - 使用hexo-neat插件压缩页面静态资源

    为什么要压缩页面静态资源 对于个人博客来说,优化页面的访问速度是很有必要的,如果打开你的个人站点,加载个首页就要十几秒,页面长时间处于空白状态,想必没什么人能够忍受得了吧.我个人觉得,如果能把页面的加 ...

  5. 搭建hexo博客并部署到github上

    hexo是由Node.js驱动的一款快速.简单且功能强大的博客框架,支持多线程,数百篇文章只需几秒即可生成.支持markdown编写文章,可以方便的生成静态网页托管在github上. 感觉不错. 前端 ...

  6. 使用Hexo搭建博客并部署到Github

    一.博客环境搭建 ​ Hexo 是一个静态博客框架,基于 Node.js,将 Markdown 文章通过渲染引擎,生成一个静态网页,再结合 Git 命令(ssh),Hexo 是一个快速.简洁且高效的博 ...

  7. Hexo个人免费博客(四) 部署到Coding.net

    引言: 之前的博客我们已经完成了个人Hexo博客的搭建和配置,并且部署到Github上,具体过程可以参考我之前的博客<Hexo个人免费博客(一) 从零到发布Github>,但是国内访问速度 ...

  8. Solo博客静态部署到码云gitee —— 全网最详细系列

    我的Solo博客:http://ailjx.gitee.io/ 全网最详细系列:Solo博客静态部署到码云gitee Solo简介 一.前期准备 1.下载最新发行版Solo源码 2. 本地运行Solo ...

  9. vuepress-theme-reco博客项目部署github

    通过vuepress-theme-reco构建博客项目部署在github 直接跳过前面项目初始化 在config.js 将base设置为仓库名称 直接到打包阶段 -----------首先将代码推到g ...

最新文章

  1. R语言xgboost包:使用xgboost算法实现随机森林(random forest)模型
  2. 敏捷团队中的QA由来
  3. linux简单文件管理命令的使用
  4. 查看mysql某人执行了什么语句_详解MySQL如何监控系统全部执行过的sql语句
  5. Jsp+Servlet+Mysql实现的火车票预定管理
  6. eclipse adt开发android ndk没有NDK选项问题的解决方案
  7. mysql分组函数_mysql分组函数
  8. 学习笔记——字符串方法整理
  9. 坐标c语言输入数组中,求助 C语言中如何利用二维数组计算多个坐标之间的距离...
  10. xlsx文件打开乱码_xlsx文件怎么打开乱码
  11. 海康、大华设备搜索大概实现原理
  12. vmware安装安卓android详教程,虚拟机安装安卓系统教程
  13. python的encode方法_Python encode() 方法
  14. 《曹云社》论道中国企业管理 剖析八家企业落地中台实践
  15. 高德视觉技术中心招聘计算机视觉研发(社招/校招/实习岗位)
  16. 微软专业资历认证有哪些?
  17. 【短道速滑六】古老的视频去噪算法(FLT_GradualNoise)解析并优化,可实现1920*1080 YUV数据400fps的处理能力。...
  18. ubuntu18.04安装openvino2022.1
  19. 北斗卫星系统的心脏——中国原子钟发展的历史
  20. CodeCombat代码全记录(Python学习利器)--边地森林(第二章)代码4

热门文章

  1. scala解析csv文件写入mysql_scala实战之spark源码修改(能够将DataFrame按字段增量写入mysql数据表)...
  2. 4g模块注册上网 移远_物联网模组龙头移远通信
  3. A Hierarchical Deep Temporal Model for Group Activity Recognition
  4. 大学生php实训心得1500_通知 | 关于举办全国第五届暨河南省第一届大学生国际学术研讨会通知...
  5. Docker组队学习(一)
  6. 自动人脸识别高颜值抖音小姐姐并点赞(python)
  7. 转https_PDF怎么转成JPG最简单?分享免费的PDF转图片方法
  8. pdf增强锐化软件_终于找到这款神器!高级锐化插件 让你的画面更清晰
  9. 获取python安装路径
  10. LTE学习:CCE(2)