日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

DevOps文档中心的技术实践演进

發布時間:2023/12/4 编程问答 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 DevOps文档中心的技术实践演进 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

這應該算是《Git企業開發者教程》的篇外篇,介紹一下這個教程是怎樣寫出來的。相信每個技術人都有類似下面的文件夾,保存著你辛苦工作的成果。實際的感覺:看著鬧心,棄之不舍。一份文檔久經修改,不能定稿,循環往復,結果就是一系列的v1 v2 v3 ……;這當然還是習慣比較好的技術人,習慣不好的,估計一個項目下來,各種文檔存得哪里都有,最后自己都找不到了。

既然要寫git教程,當然不能用這種方式來寫,不然我都好意思拿出來給大家看。

技術文檔的編寫其實和普通的文檔編寫有很大不同,因為里面的每個細節都很重要,最好能夠像管理代碼版本一樣進行跟蹤;對于項目/產品文檔,你還可能會同時維護多個版本,這非常像我們日常的編碼過程。這也是為什么很多技術人開始選擇使用Markdown來編寫文檔。

DevOps 文檔中心 v0.5

2016年3月的時候,我曾寫過一篇?《拯救你的文檔 – 【DevOps敏捷開發動手實驗】開源文檔發布》的博客,算是我對這種新的文檔編寫方式的第一次嘗試,當時使用的是基于Phyton RestructureText和Readthedocs的引擎。這份文檔至今仍然托管在github和readthedocs.org上面,算是對當時嘗試的一種紀念

https://vsalm-hols.readthedocs.io/zh_CN/latest/


當時的這個做法應該算是 DevOps 文檔中心 的雛形,v0.5版本。后來我的團隊在2016-2017年間的客戶項目實施,公開課培訓和企業內容過程中先后編寫了一共超過20套培訓文檔,分布在超過40個Git存儲庫中,以下只是列出一些比較成體系的并還存在于最新版文檔中心內的

–?微軟云端開發訓練營
–?基于Docker的DevOps實戰培訓(微軟研發云版)
–?基于Docker的DevOps實戰培訓(開源工具版 GitLab + Jenkins + ELK)
–?Docker 實戰
–?Apache Mesos 實戰
–?Jenkins 實戰

DevOps 文檔中心 v1.0

這些文檔后來被我們整合成了 DevOps 文檔中心,基本上就是用了一個索引頁將所有的文檔入口連接到一起。就成了下面這個樣子;這算是文檔中心第一次成型,v1.0版本。

當時我寫了另外一篇博客?《Markdown/reST 文檔發布流水線》介紹了我們的一些做法,包括使用 docker 進行 rst 文檔的生成并使用 Visual Studio Team Services 發布流水線進行自動化發布。

同時,我們也開始借助這些文檔配合我們的 DevOps 實驗室 提供線上/線下的實戰培訓,取得了非常好的效果,關于 DevOps 實驗室 隨后我會單獨寫一篇博客介紹它的技術架構和我們的DevOps實踐。

DevOps 文檔中心 v2.0

上面的做法基本上滿足我們日常技術文檔編寫,維護,多版本發布需求,但是也存在一些問題,比如:

  • 文檔格式使用的是RestructuredText:我相信很多人都沒有聽過這個格式,這個格式是Python中用于編寫文檔的格式,語法和Mardown非常接近。2017年我們 LEANSOFT 團隊加入了很多新人,大家都對單獨學習一種新的語法有抵觸。我自己也不希望我們采用和社區不同的標準,這樣會讓未來的維護成本越來越大。

  • 文檔庫規模越來越大:我粗略統計了一下,截止2017年12月,我們大概編寫了超過2000頁的rst文件,總代碼行數超過200,000行,其中還包括大量的圖片資料。這些內容都散布在超過40個git存儲庫中,總數據量超過2個G。這40多個Git存儲庫每個后面都連接了一個TFS的發布流水線。這讓管理起來成本很高,經常會有同事來問我應該哪個個庫,而我自己也很難搞清楚了。

  • 定制困難:在v1.0的過程中,我們雖然剝離了Readthedocs的引擎,僅僅保留sphinx工具來轉換rst到html,簡化了我們的TFS發布流水線,但是這個引擎很難定制。特別是我不希望團隊還需要學習python才能完成定制。我們希望后續在文檔中心中提供諸如:

    • DevOps 實驗室集成:在相關文檔上直接一鍵創建對應試驗環境并開始試驗。

    • 留言/討論:允許用戶留言并針對內容進行討論


基于以上這些訴求,我們開始規劃 v2.0。最后我們決定采用MDWIKI來直接通過js轉換md為html,這樣就避免了在構建的時候進行文檔格式轉換,可以與大家在github上發布文檔的方式高度統一;同時因為全部前端技術實現,定制也更加容易。大型Git庫的問題我們暫時采用git submodule的方式來將多個庫進行整合,這樣可以避免使用多條TFS發布流水線。這個過程要特別感謝我同事厲曉明,在其中做了大量工作。

當前的 DevOps 文檔中心 v2.0 的工作方式如下圖

  • 核心git repo現在只有兩個: home和mdwiki,分別承載首頁和mdwiki的解析工作

  • 所有的文檔都在獨立的repo之內,通過git submodule的方式即成到mdwiki的存儲庫,這個做法解決了2個問題

    • 大家通過submodule的引用關系就知道了文檔結構并能找到對應的git倉庫

    • 主庫大小得到控制,數據仍然存放在子庫,只是在構建發布的時候才集成進來

  • 主站點TFS發布流水線負責將home/mdwiki發布到Azure的App Service中的不同應用

  • Github的TFS發布流水線負責將分庫的內容雙向到Github上的lean-soft賬號下面,使用雙向同步是為了能夠從社區接受pull request,為未來添加留言和評論留出實現的地方。


大家看到的效果就是這樣

DevOps文檔中心首頁:https://docs.devopshub.cn/home

(點擊閱讀原文即可訪問)

Git企業開發者教程

發布頁:https://docs.devopshub.cn/mdwiki/#!docs/g4e/index.md
Github庫:https://github.com/lean-soft/devopshub-docs-g4e



以上便是 DevOps 文檔中心在過去一年中的演變,當然現在的實現仍然存在問題,比如:文檔中心的導航仍然需要收工維護,這個問題我們打算使用構建中自動掃描文檔標題的方式來解決。

我們是中國最好的DevOps實施團隊,我們不僅會講DevOps,我們更能做DevOps,持續改進中。

原文地址:http://devopshub.cn/2018/01/07/devops-docs-practise/


.NET社區新聞,深度好文,歡迎訪問公眾號文章匯總 http://www.csharpkit.com

總結

以上是生活随笔為你收集整理的DevOps文档中心的技术实践演进的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。