拥抱腾讯云服务:Github Actions+COS,快速搭建你的Wiki文档

2024-03-23 19:48

本文主要是介绍拥抱腾讯云服务:Github Actions+COS,快速搭建你的Wiki文档,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

作者介绍

叶嘉梁:腾讯云高级前端工程师,多年从事云计算相关前端工作。现负责腾讯云对象存储前端的工作,致力于挖掘更多云服务的玩法。


想要一个自己的静态站点,没有服务器 ?
想要所写即所得的方式,书写自己的文档?
想要一推到代码仓库,就自动完成站点部署?

Github Page貌似已经满足了,但是访问慢,有没更快的云服务可用?

  不清楚上面的问题,是否在大家的日常中出现,但这些问题以前确实困扰着我,也相信困扰了很多同学,于是,有了本文。先让看客们瞅瞅成品http://cos.galen-yip.com (请复制到浏览器打开)。

  如何用腾讯云COS对象存储快速搭建一个在国内就能快速访问的Wiki文档站点?

  下面给熟悉或者不熟悉腾讯云对象存储COS的同学普及下COS静态网站这个最实用的功能。

准备工具

本文会用到Docsify+Github(可选)+Github Actions(可选)+腾讯云对象存储COS

下面分别介绍需要用到的几个工具:

  • Docsify

  按Docsify官网的说法,这是“一个神奇的文档网站生成工具”。他会动态的把你的Markdown转换成html,这点真是不要太方便,不止产品同学喜欢,身为研发同学也爱得不行。当然,选择它还有原因,就是 [ 好看 ],简洁舒服。

  

  • Github

  这个就不介绍了,全球最大的 x 友交流社区。

  • Github Actions

  Github 的持续集成服务,详细内容:https://dwz.cn/XB4jDdIz(手动复制到浏览器打开)

  • 腾讯云对象存储COS

  今天的主角,简单说,可以认为它是一个容量不限的存储空间。今儿要用到他的静态网站功能,即免服务器,把你用Docsify写的Markdown文件,以静态页面的方式,提供了一个页面地址供你进行访问。



实操开始

一、安装 Docsify ,用 Markdown 书写 wiki

// 安装、初始化,以及预览// 前提条件是本地安装了Node/Npm,以及 npm npm i docsify-cli -gdocsify init ./cos-website-demo  docsify serve cos-website-demo

  之后修改目录下的cos-website-demo/README.md即可实时更新。

  如果以上的操作没法完成,可以参考官网中手动初始化的方式:https://docsify.js.org/#/zh-cn/quickstart

(请手动复制到浏览器打开)

  而我们只需要做 3 步:

  ① 修改 index.html 中的'name';

  ② 编辑 _sidebar.md 修改成你需要的左侧菜单;

  ③ 修改具体的'md'文件即可;

二、Github Actions + COS自动部署

 2.1、思路 ( 不关心者可直接跳到 2.2 )

  我们使用Github进行代码管理,当完成文档书写后,如果在代码提交时,即可自动部署,那滋味想想可真是舒服。

  这自然想到了Github自带的CI服务Github Actions。思路比较简单,在代码提交时去做一些事情,比如这里是在代码提交时,触发Action去把文档部署到 COS。

  那Github Actions如何上传文档到 COS ?去调用一个复杂的脚本,写一段代码来上传?方案可行,但蛮麻烦的。有没简单点的办法呢,比如就调用命令行?刚好,COS侧官方提供了coscmd的命令行工具,上传文件调用类似'coscmd upload ./a.jpg a.jpg' 即可完成对 a.jpg 的上传。

  但在 Orange-ci 中无法直接调用 coscmd,需要以插件的形式来调用。那剩下的就是配置好COS,写好ci的yml 文件即可。

  那剩下的就是配置好 COS 以及 Github Actions 即可。

2.2、配置 COS 静态网站功能

  首先,登录 COS 控制台,创建好一个公有读私有写的存储桶。比如我创建了地域为广州, 名称为 cos-website-demo-1251496585 的存储桶(注:详细的静态网站配置请点击查看底部相关文档)。

  然后,点击存储桶名称,进入存储桶详情,点击【基础配置】,滚动到下方,找到【静态网站】,直接开启即可( 强制HTTPS别开启 )。

  图中访问节点:https://cos-website-demo-125149

6585.cos-website.ap-guangzhou.myqcloud.com即COS为你提供的静态站点地址,但因为新建的存储桶中目前没有任何内容,因此还需配合后续操作。

2.3、串联 Github、Github Actions、COS

  首先开通 Github Actions,因为目前Github Actions还处于测试阶段,需要到这里进行申请:https://dwz.cn/mqDs2mmn(手动复制到浏览器打开)。

  开通后,可以在Github仓库看到 Actions 这一栏。

  其次,把腾讯云的个人账号 API 密钥,配置到 Github 平台上,用于之后 Github Actions 发起到 COS的请求。

点击【Settings】->【Secrets】后添加密钥信息,腾讯云账号的SECRET_ID、SECRET_KEY可在腾讯云控制台获取。

  然后,在本地Docsify生成的目录中,根目录下创建.github/workflows 目录,然后创建main.yml 文件,在里面写上传文件到COS的逻辑。

  值得注意的是,前面我们在Secrets里配置了腾讯云的密钥信息,正是在这里使用。把密钥存在Github中,通过env来注入变量。

  其中,有 2 个地方需要修改下:

  ① 存储桶名称改为刚刚创建的,可在 COS 控制台获取;

    ② 存储桶的地域修改为刚选择的,如果你也创建的是广州,则无需修改;

2.4、提交Git,验收成果。

  贤者的时刻到了,键盘敲下git push,听着enter键清脆的回响,码农的快乐往往就是这么朴实无华且枯燥。

  在Github Actions的页面中静待一会,提示构建成功则可以去验收我们的站点。

  打开 2.2 中 COS 访问节点处给出的 URL 地址,我的是:

https://cos-website-demo-1251496585.cos-website.ap-guangzhou.myqcloud.com (你需要改为你的存储桶名称及地域)。

  到此,我们基本完成了任务,一个外网可访问的文档页面就有了,如果有修改,只需要推送到git即可等待它自动部署。

2.5、使用自定义域名

  贤者们不难发现,我们最终得到COS提供的域名:

htttp://xxxx.cos-website.ap-guangzhou.myqcloud.com开头给的示例地址却是:http://cos.galen-yip.com。

  这里 COS 提供了绑定自定义域名的功能,打开存储桶详情,进到【域名管理】,找到下方的【自定义源站域名】,在此添加自己的域名(因为前面存储桶选择的国内大陆地域,所以要求域名必须已备案,如果是选择的海外,则无要求)。

  源站类型选择静态网站,添加完域名后,在域名的DNS厂商处添加上域名的CNAME记录,指向原本COS提供的静态站点域名 :

http://xxxx.cos-website.ap-guangzhou.myqcloud.com。

配置完毕,等候DNS生效即可。

  至此,则可以通过我们自己的域名来访问文档站点,如:http://cos.galen-yip.com


  由于cos暂不支持HTTPS证书的托管,因此通过自定义域名没法用https访问,但下方提供了2种方式:

  1、页面加速

  如果你的站点访问量较大,希望做访问加速,或者你希望使用 https 的方式来访问。那这里可以结合“腾讯云CDN”来使用,这一块COS已经集成进来,提供了简单的方式来帮你设置。

  同样是上图,打开存储桶详情,进到【域名管理】,找到下方的【自定义加速域名】,点击添加域名,加速地域选择国内,源站类型选择 静态网站类型,点击保存。

  然后在域名的DNS厂商处添加上域名的CNAME记录,指向图中CNAME的域名http://xxx.cdn.dnsv1.com。等待5分钟CDN进行配置下发,至此,即完成了CDN的接入。

  如果你需要使用 https 访问,则可进到CDN控制台,找到你刚添加的域名,进入域名详情,点击【高级配置】,找到【HTTPS配置】进行相关的操作即可。(腾讯云目前还能申请免费的 HTTPS 证书)

  2、自动刷新CDN

  再细心的贤者们,会发现,如果接入了CDN,CDN是会有缓存的,那提交Git后的自动部署到COS,通过添加的域名访问站点的话,会始终命中CDN缓存,除非CDN默认的缓存过期了(默认30天)。

  那怎么让COS让文件的更新反馈到CDN节点上呢?这里可以使用“云服务SCF”,这里就不做额外的讲解了。

可以直接参考(请复制到浏览器打开):

https://cloud.tencent.com/developer/article/1114117

———————————结语————————————

  整个流程下来,过程没有复杂的,乃至觉得麻烦的,可以在本地写成文档后,直接通过 COS 控制台把文件上传上来,这也基本完成了静态网站的部署。让繁重的运维工作给更专业的人去做【拥抱云服务,让业务上云:就选腾讯云(请允许我打个小广告-呵呵-)】。

  如果你有更多的玩法,或者有使用上的问题或建议,欢迎给我留言!

  

  相关文章阅读:

  十分钟搞定“傻瓜式”的静态网站搭建托管之旅

你点的每个赞,我都认真当成了喜欢

这篇关于拥抱腾讯云服务:Github Actions+COS,快速搭建你的Wiki文档的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/839358

相关文章

电脑桌面文件删除了怎么找回来?别急,快速恢复攻略在此

在日常使用电脑的过程中,我们经常会遇到这样的情况:一不小心,桌面上的某个重要文件被删除了。这时,大多数人可能会感到惊慌失措,不知所措。 其实,不必过于担心,因为有很多方法可以帮助我们找回被删除的桌面文件。下面,就让我们一起来了解一下这些恢复桌面文件的方法吧。 一、使用撤销操作 如果我们刚刚删除了桌面上的文件,并且还没有进行其他操作,那么可以尝试使用撤销操作来恢复文件。在键盘上同时按下“C

活用c4d官方开发文档查询代码

当你问AI助手比如豆包,如何用python禁止掉xpresso标签时候,它会提示到 这时候要用到两个东西。https://developers.maxon.net/论坛搜索和开发文档 比如这里我就在官方找到正确的id描述 然后我就把参数标签换过来

【区块链 + 人才服务】可信教育区块链治理系统 | FISCO BCOS应用案例

伴随着区块链技术的不断完善,其在教育信息化中的应用也在持续发展。利用区块链数据共识、不可篡改的特性, 将与教育相关的数据要素在区块链上进行存证确权,在确保数据可信的前提下,促进教育的公平、透明、开放,为教育教学质量提升赋能,实现教育数据的安全共享、高等教育体系的智慧治理。 可信教育区块链治理系统的顶层治理架构由教育部、高校、企业、学生等多方角色共同参与建设、维护,支撑教育资源共享、教学质量评估、

搭建Kafka+zookeeper集群调度

前言 硬件环境 172.18.0.5        kafkazk1        Kafka+zookeeper                Kafka Broker集群 172.18.0.6        kafkazk2        Kafka+zookeeper                Kafka Broker集群 172.18.0.7        kafkazk3

【IPV6从入门到起飞】5-1 IPV6+Home Assistant(搭建基本环境)

【IPV6从入门到起飞】5-1 IPV6+Home Assistant #搭建基本环境 1 背景2 docker下载 hass3 创建容器4 浏览器访问 hass5 手机APP远程访问hass6 更多玩法 1 背景 既然电脑可以IPV6入站,手机流量可以访问IPV6网络的服务,为什么不在电脑搭建Home Assistant(hass),来控制你的设备呢?@智能家居 @万物互联

计算机毕业设计 大学志愿填报系统 Java+SpringBoot+Vue 前后端分离 文档报告 代码讲解 安装调试

🍊作者:计算机编程-吉哥 🍊简介:专业从事JavaWeb程序开发,微信小程序开发,定制化项目、 源码、代码讲解、文档撰写、ppt制作。做自己喜欢的事,生活就是快乐的。 🍊心愿:点赞 👍 收藏 ⭐评论 📝 🍅 文末获取源码联系 👇🏻 精彩专栏推荐订阅 👇🏻 不然下次找不到哟~Java毕业设计项目~热门选题推荐《1000套》 目录 1.技术选型 2.开发工具 3.功能

【区块链 + 人才服务】区块链集成开发平台 | FISCO BCOS应用案例

随着区块链技术的快速发展,越来越多的企业开始将其应用于实际业务中。然而,区块链技术的专业性使得其集成开发成为一项挑战。针对此,广东中创智慧科技有限公司基于国产开源联盟链 FISCO BCOS 推出了区块链集成开发平台。该平台基于区块链技术,提供一套全面的区块链开发工具和开发环境,支持开发者快速开发和部署区块链应用。此外,该平台还可以提供一套全面的区块链开发教程和文档,帮助开发者快速上手区块链开发。

hdu 4565 推倒公式+矩阵快速幂

题意 求下式的值: Sn=⌈ (a+b√)n⌉%m S_n = \lceil\ (a + \sqrt{b}) ^ n \rceil\% m 其中: 0<a,m<215 0< a, m < 2^{15} 0<b,n<231 0 < b, n < 2^{31} (a−1)2<b<a2 (a-1)^2< b < a^2 解析 令: An=(a+b√)n A_n = (a +

v0.dev快速开发

探索v0.dev:次世代开发者之利器 今之技艺日新月异,开发者之工具亦随之进步不辍。v0.dev者,新兴之开发者利器也,迅速引起众多开发者之瞩目。本文将引汝探究v0.dev之基本功能与优势,助汝速速上手,提升开发之效率。 何谓v0.dev? v0.dev者,现代化之开发者工具也,旨在简化并加速软件开发之过程。其集多种功能于一体,助开发者高效编写、测试及部署代码。无论汝为前端开发者、后端开发者

pico2 开发环境搭建-基于ubuntu

pico2 开发环境搭建-基于ubuntu 安装编译工具链下载sdk 和example编译example 安装编译工具链 sudo apt install cmake gcc-arm-none-eabi libnewlib-arm-none-eabi libstdc++-arm-none-eabi-newlib 注意cmake的版本,需要在3.17 以上 下载sdk 和ex