使用daocloud持續(xù)集成發(fā)布hexo

這篇文章寫如何借助daocloud免費發(fā)布hexo到github
前置閱讀:http://www.itdecent.cn/p/cb2ad128080d

需求

  1. blog源文件放在github
  2. git clone http://git.of.yousite
  3. 用Markdown寫文章
  4. git push
  5. 你的文章已經(jīng)更新到了github pages

原理

在daocloud上創(chuàng)建項目,生成鏡像,daocloud有持續(xù)集成功能,當寫完文章,push后,觸發(fā)daocloud自動構(gòu)建新的鏡像,接著會執(zhí)行你定義的動作,將文章發(fā)布到github page

引子

引子和實踐無關(guān),可以跳過
程序員都有記錄文檔的需要,想想鋪天蓋地的代碼片段,如果不及時整理記錄,等到用的時候,單靠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需要性能比較好的服務(wù)器,配置也挺麻煩,折騰了一陣子,放棄了,后來打算用docker來打包環(huán)境,嘗試了免費的daocloud,時速云,希云等工具,最后daocloud走通了

步驟

先簡單寫

  1. 首先搭建hexo,發(fā)布到github, 參考http://www.itdecent.cn/p/cb2ad128080d
  2. 注冊daocloud賬號,用DockerFile創(chuàng)建鏡像,部署鏡像
  3. 那么我的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)限了

  1. 用daocloud生成鏡像
  2. 部署你生成的鏡像
  3. 開啟自動更新,持續(xù)集成
  4. 在本地向你的代碼庫push代碼daocloud就會自動更新鏡像,自動發(fā)布到github page

最后

本文先只寫了一個思路,我按照這個思路走通了,需要一些docker方面的基礎(chǔ),如果有什么問題,歡迎留言

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容