IT博客汇
  • 首页
  • 精华
  • 技术
  • 设计
  • 资讯
  • 扯淡
  • 权利声明
  • 登录 注册

    同时使用 GitHub 和 GitCafe 托管 octopress

    BelinChung发表于 2015-03-23 03:10:32
    love 0

    以前这个博客是托管在 stdyun 的,后来不知道什么原因(貌似被美团云收购?), octopress 托管服务终止了,原有的网站被转移在外国的服务器上,而且访问速度越来越慢,这不得不让我考虑重新寻找一个免费的 octopress 托管服务。
    几经斟酌,觉得选用 GitHub 和 GitCafe ,他们分别是国外的、国内的代码托管服务商,也都提供 Git Pages 服务,我们可以把 octopress 托管在他们那。

    GitHub Pages

    具体的托管操作在互联网上面大把,这里就不在累赘,大概如下

    • GitHub 上面创建一个与你用户名相同前缀的 Repository ,比如我的 BelinChung/belinchung.github.io
    • cd path/your/octopress/folder
    • 初始化 rake setup_github_pages ,按提示输入你的 Repository URL
    • 编译和发布 rake generate rake deploy

    GitCafe Pages

    因为两家的产品都差不多,所以操作也是不尽相同,小区别在第一步,不需要 github.io 后缀

    • GitCafe 上面创建一个与你用户名相同前缀的 Repository ,比如我的 BelinChung/belinchung

    GitCafe 还提供的中文文档,可以去看看 GitCafe Pages Wiki

    域名绑定

    • GitHub 需要在你的 octopress 的 source 目录下创建一个 CNAME 的文件,里面输入你想要绑定的域名,然后将域名 CNAME 到 yourname.github.io 上

    • GitCafe 后台可视化操作,非常方便,然后将域名 A 记录到 117.79.146.98

    同时使用

    开头我们说了,两家分别是国外和国内的代码托管服务商,GitHub 对于国外的访问(我猜的)比较友好,GitCafe 对于国内的访问比较迅速(必须的呀),能不能同时使用两家的托管服务,如果访问者是国外的 IP,走 GitHub ;反之,如果是国内的 IP ,走 GitCafe ?

    答案是肯定是,我们使用 DNSPod 线路解析来实现“负载均衡”。

    如何你的域名在 DNSPod 上面有一段时间了,那么你的线路类型里面直接有 国内 、国外 两个选项,你直接将 Github CNAME 记录的线路类型选择为 国外 , GitCafe A 记录的线路类型选择为 国内 即可!

    images

    如果你的域名线路类型里没有 国内 、国外 选项,也不用伤心,我们可以这么做
    我们将 Github CNAME 记录的线路类型选择为 默认,将 GitCafe A 记录的线路类型分别选择为 电信 、 联通 、 教育网

    images

    同时部署

    应该两家的服务不属于镜像的关系,所以得分别更新部署,不过在你的 Rakefile 文件下添加这2行代码,即可按照平时一样只执行 rake generate rake deploy 即可

    cd "#{deploy_dir}" do
        system "git add -A"
        puts "\n## Commiting: Site updated at #{Time.now.utc}"
        message = "Site updated at #{Time.now.utc}"
        system "git commit -m \"#{message}\""
        puts "\n## Pushing generated #{deploy_dir} website"
        system "git push origin #{deploy_branch}"
        puts "\n## Github Pages deploy complete"
        /*  增加这2行,记得换上你的 git url */
        system "git remote add gitcafe git@gitcafe.com:belinchung/belinchung.git >> /dev/null 2>&1"
        system "git push -u gitcafe master:gitcafe-pages"
    end
    


沪ICP备19023445号-2号
友情链接