[编者的话] 当文字偶遇代码,当程序插上了翅膀,让分享成为我们彼此沟通的语言。我们期待可以构建这样一个平台让开发者们看到你们的智慧,挖掘你们的才华,让彼此在开源的路上不再孤独。“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。如图:
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博客,就更新完成了,全自动。
如果有自己的域名,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用户踊跃投稿。