這篇文章寫如何借助daocloud免費發(fā)布hexo到github
前置閱讀:http://www.reibang.com/p/cb2ad128080d
需求
- blog源文件放在github
- git clone http://git.of.yousite
- 用Markdown寫文章
- git push
- 你的文章已經(jīng)更新到了github pages
原理
在daocloud上創(chuàng)建項目烟具,生成鏡像蚪腐,daocloud有持續(xù)集成功能更鲁,當寫完文章啃勉,push后子库,觸發(fā)daocloud自動構(gòu)建新的鏡像团甲,接著會執(zhí)行你定義的動作镐确,將文章發(fā)布到github page
引子
引子和實踐無關,可以跳過
程序員都有記錄文檔的需要锥余,想想鋪天蓋地的代碼片段腹纳,如果不及時整理記錄,等到用的時候驱犹,單靠Google只估,顯然不是高效的,于是有了印象筆記等在線的私人筆記本着绷。
開放性的分享工具--blog出場了
- 空間
- 博客園
- WordPress
- hexo
但是用hexo寫完文章蛔钙,需要手動編譯成HTML,然后發(fā)布到github
能不能用戶合適的工具荠医,自動化持續(xù)集成呢吁脱,看到一篇文章:
http://notes.iissnan.com/2016/publishing-github-pages-with-travis-ci/
這里用到了Travis,好像被墻彬向,反正我一直打不開, 后來用Jenkins兼贡,但是發(fā)現(xiàn)安裝Jenkins需要性能比較好的服務器,配置也挺麻煩娃胆,折騰了一陣子遍希,放棄了,后來打算用docker來打包環(huán)境里烦,嘗試了免費的daocloud,時速云凿蒜,希云等工具禁谦,最后daocloud走通了
步驟
先簡單寫
- 首先搭建hexo,發(fā)布到github, 參考http://www.reibang.com/p/cb2ad128080d
- 注冊daocloud賬號废封,用DockerFile創(chuàng)建鏡像州泊,部署鏡像
- 那么我的Dockerfile
# Dockerfile for building CentOS images
FROM centos:centos6.7
ENV TZ "Asia/Shanghai"
ENV TERM xterm
Run yum clean all && yum makecache
Run yum install -y pwgen openssh-server git supervisor python-pip
RUN yum install -y wget curl tar bzip2 vim-enhanced sudo yum-utils
Run yum install -y npm git
Run git clone https://{{you.git.site}} /hexow
Run cd /hexow && git pull
Run npm install hexo-cli -g
Run cd /hexow && npm install
EXPOSE 4000
EXPOSE 22
ENTRYPOINT cd /hexow &&git fetch --all &&git reset --hard origin/master &&hexo clean &&hexo g &&hexo d&& hexo s
注意替換you.git.site為你自己的git地址
- 這里需要注意,如果是私人庫漂洋,需要git授權(quán)遥皂,我沒有采用ssh的方式,我用了如下的方法:
如果你的git用戶名密碼分別是
username=zhangsan
password=1234
git:https://coding.net/u/awanke/p/hexow/git
可以寫成:
https://zhangsan:1234@coding.net/u/awanke/p/hexow/git
這樣就不用配置權(quán)限了
- 用daocloud生成鏡像
- 部署你生成的鏡像
- 開啟自動更新刽漂,持續(xù)集成
- 在本地向你的代碼庫push代碼daocloud就會自動更新鏡像演训,自動發(fā)布到github page
最后
本文先只寫了一個思路,我按照這個思路走通了贝咙,需要一些docker方面的基礎样悟,如果有什么問題,歡迎留言