相信很多朋友都在使用Markdown或者restructuredText格式来编写一些技术文档,也会把这些文档放在github上分享给社区。GitHub提供了很好的Markdown格式解析支持,但是这些文档的阅读体验并不好,而且有些时候我们可能只希望给用户提供可阅读的html格式而不希望直接把Markdown格式也分享出去。
为了满足这些要求,我曾经使用ReadTheDocs的服务很长时间,因为它提供了很漂亮并且适配各种屏幕尺寸和手机的css风格。但是我相信很多人也和我一样,一直都很纠结它的访问速度,毕竟服务器在国外。后来,我在北京的Azure数据中心中自己搭建了ReadTheDocs服务器,但是发现在文档生成和发布过程中ReadTheDoc必须要下载很多依赖库,由于大家都知晓的原因,这让发布过程变的非常不稳定,经常出现发布失败的情况。
最终,我决定自己搭建类似ReadTheDocs的自动化文档发布流水线,实现文档源代码签入后的一键式自动发布。思路很简单,就是利用VSTS所提供的 持续集成CI 引擎,在推送代码后自动触发脚本完成文档编译(把restructuredText/Markdown格式转换为html格式),同时使用FTP上传到web服务器的特定目录,再把html压缩后的zip包上传到vsts作为备份。
最终发布的效果如下:

