成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Markdown/reST 文檔DevOps流水線

開發(fā) 開發(fā)工具
自己搭建類似ReadTheDocs的自動(dòng)化文檔發(fā)布流水線,實(shí)現(xiàn)文檔源代碼簽入后的一鍵式自動(dòng)發(fā)布。思路很簡(jiǎn)單,就是利用VSTS所提供的 持續(xù)集成CI 引擎,在推送代碼后自動(dòng)觸發(fā)腳本完成文檔編譯(把restructuredText/Markdown格式轉(zhuǎn)換為html格式),同時(shí)使用FTP上傳到web服務(wù)器的特定目錄,再把html壓縮后的zip包上傳到vsts作為備份。

相信很多朋友都在使用Markdown或者restructedText格式來編寫一些技術(shù)文檔,也會(huì)把這些文檔放在github上分享給社區(qū)。GitHub提供了很好的Markdown格式解析支持,但是這些文檔的閱讀體驗(yàn)并不好,而且有些時(shí)候我們可能只希望給用戶提供可閱讀的html格式而不希望直接把Markdown格式也分享出去。

為了滿足這些要求,我曾經(jīng)使用ReadTheDocs的服務(wù)很長時(shí)間,因?yàn)樗峁┝撕芷敛⑶疫m配各種屏幕尺寸和手機(jī)的css風(fēng)格。但是我相信很多人也和我一樣,一直都很糾結(jié)它的訪問速度,畢竟服務(wù)器在國外。后來,我在北京的Azure數(shù)據(jù)中心中自己搭建了ReadTheDocs服務(wù)器,但是發(fā)現(xiàn)在文檔生成和發(fā)布過程中ReadTheDoc必須要下載很多依賴庫,由于大家都知曉的原因,這讓發(fā)布過程變的非常不穩(wěn)定,經(jīng)常出現(xiàn)發(fā)布失敗的情況。

最終,我決定自己搭建類似ReadTheDocs的自動(dòng)化文檔發(fā)布流水線,實(shí)現(xiàn)文檔源代碼簽入后的一鍵式自動(dòng)發(fā)布。思路很簡(jiǎn)單,就是利用VSTS所提供的 持續(xù)集成CI 引擎,在推送代碼后自動(dòng)觸發(fā)腳本完成文檔編譯(把restructuredText/Markdown格式轉(zhuǎn)換為html格式),同時(shí)使用FTP上傳到web服務(wù)器的特定目錄,再把html壓縮后的zip包上傳到vsts作為備份。

最終發(fā)布的效果如下:

配置這個(gè)流水線也很簡(jiǎn)單

1. 在VSTS里創(chuàng)建git代碼庫簽入文檔源碼,并創(chuàng)建文檔編譯腳本 build.sh

以下是 build.sh 的內(nèi)容

  1. sphinx-build -b html ./docs/ ./_build/ 

2. 在Azure上創(chuàng)建Website,并獲取ftp上傳地址和賬戶

3. 在VSTS中創(chuàng)建以下文檔構(gòu)建定義

這個(gè)構(gòu)建分成4個(gè)步驟完成,分別是

  • 執(zhí)行 build.sh 腳本
  • FTP 上傳到Azure站點(diǎn)
  • 發(fā)布文檔zip包作為交付件到VSTS中

4. 在VSTS中創(chuàng)建以下github同步構(gòu)建定義

2個(gè)步驟

  •  同步github狀態(tài)
  • git pull https://github.com/lean-soft/$(Build.Repository.Name).git master
  •  推送到github
  • git push https://$(github-token)@github.com/lean-soft/$(Build.Repository.Name).git head:master

注意以上我使用了 ${Build.Repository.Name}替代了代碼庫的名稱,這樣我只要在vsts和github上保持代碼庫名稱的一致,就可以不必每次都重新修改這個(gè)腳本的內(nèi)容。

DevOpsHub的文檔中心現(xiàn)在已經(jīng)5套不同內(nèi)容的培訓(xùn)實(shí)驗(yàn)手冊(cè)文檔,為了跟蹤所有這些文檔的更新狀態(tài),我在VSTS里面還建立了一個(gè)儀表盤來整體顯示。

這些文檔通過以上提到的github同步任務(wù),也會(huì)同步到公司的github主頁上,大家如果需要這些文檔的源碼,可以訪問:https://github.com/lean-soft

DevOpsHub文檔中心地址請(qǐng)點(diǎn)擊 以下地址

http://docs.devopshub.cn/

更新1,最近我又改進(jìn)了這個(gè)流水線,使用docker來運(yùn)行sphinx工具,這樣我就不必在構(gòu)建服務(wù)器上安裝python等一系列的工具了。腳本如下:

  1. # 使用容器運(yùn)行sphinx工具,并執(zhí)行自定義的build.sh腳本 
  2. docker run -it -v $(Build.Repository.LocalPath):/documents/ --name docs-build-container -w /documents/ --rm docker-sphinx:1 bash ./build.sh 

更新2,微軟最近發(fā)布了基于Linux的托管構(gòu)建服務(wù)器,所以我就不必自己搭建構(gòu)建服務(wù)了,只需要修改構(gòu)建使用 Hosted Linux就可以了。

【本文為51CTO專欄作者“徐磊”的原創(chuàng)稿件,轉(zhuǎn)載請(qǐng)通過作者微信公眾號(hào)devopshub獲取授權(quán)】

戳這里,看該作者更多好文

責(zé)任編輯:武曉燕 來源: 51CTO專欄
相關(guān)推薦

2017-02-28 15:40:30

Docker流水線Azure

2017-03-02 14:12:13

流水線代碼Clojure

2021-04-29 08:55:54

GitLabDevOps項(xiàng)目

2024-11-04 12:38:52

2019-11-07 10:02:33

開源開源工具DevOps

2024-01-07 12:47:35

Golang流水線設(shè)計(jì)模式

2013-06-06 09:31:52

2021-11-08 07:41:16

Go流水線編程

2023-05-10 15:08:00

Pipeline設(shè)計(jì)模式

2022-07-18 06:05:28

Gitlab流水線

2023-08-18 10:24:52

GitLabCI 流水線

2021-06-26 14:22:34

Tekton流水線Kubernetes

2022-01-26 08:12:42

Jenkins開源流水線

2021-12-24 08:02:48

GitLabCI模板庫流水線優(yōu)化

2021-06-18 05:48:02

Tekton DevopsKubernetes

2023-09-27 08:24:49

2021-06-28 06:32:46

Tekton Kubernetes Clone

2025-05-08 07:36:57

DevOpsSpringCI/CD

2020-06-16 10:20:32

JavaStream流水線

2011-10-19 08:04:12

點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

主站蜘蛛池模板: 日本二区在线观看 | 亚洲iv一区二区三区 | 日韩一区在线播放 | 精品国产乱码久久久久久蜜退臀 | 国产精品美女久久久久久久久久久 | 精品日韩一区二区 | 卡通动漫第一页 | 成人在线免费电影 | 四虎影院在线播放 | 日韩一区中文字幕 | 亚洲va欧美va天堂v国产综合 | 国产免费让你躁在线视频 | 国产免费福利在线 | 成人一区二区三区在线观看 | 久久久av中文字幕 | 一区二区三区免费观看 | 色综合色综合色综合 | 精品国产一区二区国模嫣然 | a国产一区二区免费入口 | 一级毛片大全免费播放 | 日韩精品在线看 | 成人精品一区二区三区中文字幕 | 欧美日日 | 在线观看国产三级 | 欧美mv日韩mv国产网站91进入 | 欧美一区二区三区 | 亚洲 中文 欧美 日韩 在线观看 | 国产精品久久久久久高潮 | 日韩在线精品 | 午夜视频在线免费观看 | 精品视频 免费 | 欧美成人一级 | 九九精品在线 | 亚洲精品日韩综合观看成人91 | 伊人网在线综合 | 欧美高清一区 | 99re热精品视频| 国产精品欧美一区二区三区不卡 | 久久久久无码国产精品一区 | 久久国产成人 | 国产精品久久精品 |