第78节 开源的文档自动化设计


❤️💕💕记录sealosopen in new window开源项目的学习过程。k8s,docker和云原生的学习open in new window。Myblog:http://nsddd.topopen in new window


[TOC]

前言

任何一个顶级的开源项目都离不开文档,但是要做好一个优质的文档,也是一件非常不简单的事情。

存储方式

  • 可以使用 github page
  • 可以使用 vercel 部署
  • 可以使用 cos

对象存储实现网页部署

首先配置是最基础的。

注意,我们需要提供存储桶的名称,并且选择所属的地域,选择一个就近的位置就好了,访问权限因为我们要部署静态网页,人人都需要能访问,所以设置为公有读、私有写。

设置完成后点击确定即可。新建完成后你将进入你新建的COS控制台管理页面,默认情况下,这个页面没有任何数据,需要你上传文件。

当你上传文件后,虽然已经上传了,但是暂时还是无法通过静态页面方式去访问这个文件的。

静态页面设置

接下来,我们要打开COS的静态页面访问功能,请选择页面菜单栏中的基础配置,拉取页面到最下方,然后找到静态网站设置。

image

现在,打开浏览器访问系统自动给出的访问节点内的网址https://openim-*******.cos-website.ap-guangzhou.myqcloud.com 。我们看到我们部署的静态网站已经可以正常访问了。

使用自定义域名进行访问

默认情况下是不能通过自己的域名进行访问的,我们需要修改相关设置才能通过自己的域名进行访问。请点击菜单栏的域名管理,我们选择菜单栏的域名管理,在请输入域名处填写你自己的域名,我这里以kubecub.nsddd.top为例,源站类型设置为静态网站源站,然后点击保存。

文档自动化设计思路

使用 https://github.com/peaceiris/actions-gh-pages 可以实现对 GitHub pages 的自动化部署

这是最简单的逻辑,在 https://vercel.com/,可以设置自动对 GitHub 仓库的拉取操作来完成自动化。

同样,如果使用 cos 的话,这个自动化设计倒是有点意思了。

makefile 设计

我们先看看如何设计 makefile,作为 CICD 的基础:

## install.coscli: Install coscli, used to upload files to cos
# example: ./coscli  cp/sync -r  /home/off-line/docker-off-line/ cos://openim-1306374445/openim/openim/image/amd/off-line/off-line/ -e cos.ap-guangzhou.myqcloud.com
# https://cloud.tencent.com/document/product/436/71763
.PHONY: install.coscli
install.coscli:
	@wget -q https://github.com/tencentyun/coscli/releases/download/v0.13.0-beta/coscli-linux -O ${TOOLS_DIR}/coscli
	@chmod +x ${TOOLS_DIR}/coscli

## install.coscmd: Install coscmd, used to upload files to cos
.PHONY: install.coscmd
install.coscmd:
	@if which pip &>/dev/null; then pip install coscmd; else pip3 install coscmd; fi

当然这只是第一步,很简单的一步哈哈哈。

我们如何将自动化融入进来?

我发现了一个很优秀的 actions 工具:https://github.com/BetaHuhn/repo-file-sync-action自动化同步代码或者文档。

我们可以利用 repo-file-sync-action,来实现目录的代码或者文档的同步操作。

我们可以在主仓库只需要写文档就行了,然后 actions 通过操作来 同步到 文档仓库,文档仓库不仅仅有文档,还有部署工具以及部署后的网页、资源存储。

当我们同步到我们的文档仓库后,我们下一步要做的事情,就是可以利用 cos,来对仓库进行存储。

比如说:

./coscli  sync -r  /home/off-line/docker-off-line/ cos://openim-1306374445/openim/openim/image/amd/off-line/off-line/ -e cos.ap-guangzhou.myqcloud.com

synccp 不一样的是,它会自动校验目录是否一样,如果不一样的话就同步。

最后你可以通过 cos 来进行部署。

END 链接