使用Coding和DaoCloud搭建markdown博客

[编者的话] 当文字偶遇代码,当程序插上了翅膀,让分享成为我们彼此沟通的语言。我们期待可以构建这样一个平台让开发者们看到你们的智慧,挖掘你们的才华,让彼此在开源的路上不再孤独。“DaoCloud分享写作计划”已全面启动,欢迎投稿。


作者:sinkcup


博客有两种:使用服务商提供的博客(比如cnblogs.com),或者自己搭建独立博客。对于开发者来说,有个独立博客是很酷炫的。

独立博客系统(比如wordpress、ghost)的架构是HTTP server + PHP/Ruby等后端语言 + MySQL等数据库,流程较复杂:

  • 配置的流程是:云服务器VPS——> 安装HTTP server + 后端 + 数据库 ——> 安装博客系统

  • 写博客的流程是:打开博客管理员网页后台(比如admin.example.com)——> 使用HTML或富文本书写——> 提交保存到数据库,看博客时从数据库查询

后来出现了markdown格式,纯文本、简洁、无关样式,不像富文本那么乱,特别适合写文档和文章,比如git中的README.md。博客系统也有支持markdown的了,但把纯文本博客存到数据库中有点多此一举,放在git里更便于维护。

git服务商有多家,比如国际流行的Github.com、国内飞快的coding.net,本文将以coding.net为例。本文搭建的博客流程是:

  • 配置的流程是:在coding上创建项目——> 在DaoCloud上创建项目

  • 写博客的流程是:写markdown提交coding ——> 然后?然后没有了……只有1步,是不是so easy?

配置步骤:

第一步:在Coding上创建项目

打开coding.net,创建一个项目,比如blog,下载demo,解压缩放进去,修改博客首页的markdown文件(user/pages/01.home/default.md),提交,打tag(比如0.1.0),push。如图:

coding create blog

git clone xxx  
cd xxx  
wget -O blog.zip https://coding.net/u/sinkcup/p/blog/git/archive/0.2.2  
unzip blog.zip  
rm blog.zip  
vi user/pages/01.home/default.md  
git add .  
git commit -m 'first commit'  
git push origin master  
git tag -a 0.1.0 -m 'first commit'  
git push --tags  

第二步:在DaoCloud上创建项目

打开daocloud.io,创建一个项目,“设置代码源”为Coding的blog项目即可,将触发自动构建。等待构建完成,即生成了一个Ubuntu系统镜像,点“查看镜像” ——> “部署”——> “基础设置”——> “立即部署”,即可。DaoCloud会赠送一个子域名,访问即可看到博客已经跑起来了。

DaoCloud的镜像构建功能,是由Git tag push触发的。用户需要使用Git的客户端,做一个tag push,这时候DaoCloud会自动根据最新的代码构建Docker镜像。新的镜像构建后,可以手工部署为应用,但也可以设定为应用自动更新。在应用的配置菜单,选择“发布”,开启“自动发布”,当有镜像构建成功后,自动更新应用到最新构建的版本。

这样设置完成后,更新博客的markdown文件后,只需要执行一个Git tag push,几分钟以后,部署在DaoCloud云端的Ghost博客,就更新完成了,全自动。

daocloud创建项目 daocloud代码构建成功 daocloud镜像 daocloud部署应用 daocloud部署应用 daocloud部署应用-基础设置 daocloud容器

如果有自己的域名,CNAME绑定即可,如果没有的话,可以到域名销售商网站上买一个,比如dnspod.cn出售的 .com 价格是¥49/首年,续费是¥55/年。

以后写博客就只需要1步了:在user/pages/04.blog/中为每篇博客文章创建一个目录,修改其中的item.md即可,比如user/pages/04.blog/using-coding-and-daocloud-to-build-a-markdown-blog/item.md

发现构建有点慢?敬请期待我的博客(http://tomato.life/)的下一篇文章《使用Coding、DaoCloud和Docker搭建markdown博客》。


本文来自“DaoCloud分享写作计划”,这项计划旨在为开发者提供一个平台,分享使用Docker的心得体会和技术经验。DaoCloud将为文章作者提供一定的物质奖励,具体方式请访问:DaoCloud写作分享计划 ,欢迎Docker爱好者和DaoCloud用户踊跃投稿。