軟件研發(fā)的協(xié)作過程中,文檔是必不可少的一環(huán),有需求文檔、接口文檔、使用文檔等等。當開始寫文檔時,首先會遇到兩個問題:
team members 之間如何協(xié)作?
文檔 OK 后如何分發(fā),去哪里看?如何更新?
很早的時候采用 word+ppt 做文檔,然后放到共享服務器(ftp,samba)上,這種方式會有文檔鎖定和覆蓋的問題,幾個人的小團隊還可以,大不了更新的時喊一嗓子:“我要更新文檔了,大家都不要占用某某文件(使用windows共享文檔的童鞋應該很熟悉)”。更新完了還要再喊一嗓子。除此之外,由于 word 文件格式(word文件其實是個壓縮包,由很多 xml 和其他文件構成)太過于復雜,即便是借助 git 或者 svn 做版本控制,一旦產生沖突,很難通過肉眼合并和解決沖突。
那么如何解決上述問題呢?這篇文章我用 gitbook + flow.ci 進行文檔的發(fā)布、集成和部署,希望給有需求的同學一些參考。
如何進行文檔協(xié)作 & 版本控制 (git+markdown)
開發(fā)團隊使用 git 或 svn 作為協(xié)作和版本控制工具已經是很成熟的方案了,當然也可以用于文檔,只是word文檔本身天然不太適合版本控制,markdown 是一種輕量級的標記語言, 學習簡單,上手容易(具體語法參考 http://wowubuntu.com/markdown/
) , 配合 git 幾乎能做到完美的文檔版本控制 。
如何發(fā)布文檔 (gitbook+nginx)
最好的方式是把文檔發(fā)布為 web 網站,這樣無需安裝任何工具即可查看文檔,更新時只需更新網站即可。在這里,用 gitbook 將 markdown 文件快速生成為網站。
什么是 gitbook 呢?官網上是這么介紹的:
GitBook is a modern publishing toolchain. Making both writing and collaboration easy.
簡單來說就是將 markdown 文檔轉換成 html、pdf、epub 等多種格式,很多開源軟件和書籍都是用 gitbook 發(fā)布的,
如: