最近在完善 CanalSharp 的文档,采用的是 vuepress 生成的文档网站,生成以后变考虑如何部署这个文档,考虑过 github pages,但是不想将这堆生成出来的文件往仓库里面加,所有便想着寻找其他方法。在 Azure 上看到了 Web App 这个服务,发现部署比较简单、快速,并且支持 github ci/cd ,下面分享一下我的使用记录。
制作 Docker 镜像
将生成的静态文档网站打包成 Docker 镜像,这里使用了 nginx 作为 base 镜像
Dockerfile
代码语言:javascript复制FROM nginx
MAINTAINER stulzq
COPY . /usr/share/nginx/html/
打包镜像
代码语言:javascript复制docker build -t stulzq/canalsharp-docs .
登录 docker hub
代码语言:javascript复制docker login
推送镜像
代码语言:javascript复制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 官方文档:点我
自带有部署中心,具有可视化操作: