最近在完善 CanalSharp 的文檔,采用的是 vuepress 生成的文檔網站,生成以后變考慮如何部署這個文檔,考慮過 github pages,但是不想將這堆生成出來的文件往倉庫里面加,所有便想着尋找其他方法。在 Azure 上看到了 Web App 這個服務,發現部署比較簡單、快速,並且支持 github ci/cd ,下面分享一下我的使用記錄。

制作 Docker 鏡像
將生成的靜態文檔網站打包成 Docker 鏡像,這里使用了 nginx 作為 base 鏡像
Dockerfile
FROM nginx
MAINTAINER stulzq
COPY . /usr/share/nginx/html/
打包鏡像
docker build -t stulzq/canalsharp-docs .
登錄 docker hub
docker login
推送鏡像
docker push stulzq/canalsharp-doc
創建 Web App 服務
基本信息

這里選擇 Docker 容器
設置鏡像

填寫正確的 Docker 鏡像
然后后面就沒有什么特殊的設置項了,直接 “下一步”,最后創建即可。
檢查狀態
轉到資源主頁,查看狀態十分為:Running

關於 CI/CD
如果每次更新文檔,都需要手動生產文檔網站,然后打包成 Docker 鏡像,推送,部署,這一系列步驟下來還是非常的費時間,如果能配置成自動化,那么是最好的。前面說過 Azure Web App 支持 CI/CD,且支持 github,這里簡單說明一下(我還沒有嘗試過)
Github 可以使用 Github Actions 來實現:點我
Azure Web App 官方文檔:點我
自帶有部署中心,具有可視化操作:


