云原生构建(Cloud Native Buildpacks,CNB)是一款基于 Docker 生态,对环境、缓存、插件进行抽象,通过声明式的语法,帮助开发者以更酷的方式构建软件的工具,本文将介绍如何使用 CNB 构建 Hexo 静态博客,并部署到腾讯云对象存储(COS)。
头像
处,点击我的组织
,然后点击创建组织
,按提示完成组织创建头像
处,点击我的仓库
,然后点击创建仓库
,按提示完成仓库创建仓库归属:选择你的组织
仓库名称:填写你的仓库名称
仓库描述:填写你的仓库描述
公开性:选择是否公开,建议私有
创建
,完成仓库创建仓库暂未完成初始化,您可以选择以下任一方式完成仓库的初始化
,这时点击云原生开发
使用 WEB IDE 打开
,进入代码编辑界面终端
中,输入以下命令,克隆 Hexo 仓库到当前目录1 | cnb-init-from https://cnb.cool/examples/ecosystem/hexo-cos-demo.git |
云原生构建
vscode
触发的任务并点击停止构建
存储桶列表
,点击创建存储桶
地域:选择存储桶所在地域,就近选择即可,默认广州
名称:填写存储桶名称
访问权限:选择公有读私有写
,建议选择私有读写
,此处为了演示方便选择公有读私有写
其他默认即可
此处仅为了演示方便,选择了公有读私有写,实际使用时不建议大家直接使用 COS 存储桶直接对外提供访问服务,而是通过 CDN 等服务进行加速访问。
存储桶名称
和存储桶地域
,后续需要使用新建密钥
SecretId
和SecretKey
,后续需要使用密钥仓库用于存储敏感信息,如密钥、密码等供构建时使用
头像
处,点击我的仓库
,然后点击创建仓库
,按提示完成仓库创建仓库归属:选择你的组织
仓库名称:填写你的仓库名称
仓库描述:填写你的仓库描述
公开性:选择密钥仓库
创建
,完成仓库创建新建
,选择新建文件
,填写文件名hexo_cos_secret.yml
,内容如下1 | # 腾讯云 SecretId |
提交
,完成密钥文件创建仓库
页面,点击刚刚创建的文件,在浏览器地址栏中复制链接地址
,后续需要使用云原生开发
使用 WEB IDE 打开
,进入代码编辑界面_config.yml
文件,修改站点基本信息,完成修改后保存即可hexo n 文章标题
命令新建文章,也可直接在source/_posts
目录下新建md
文件,编辑文章内容,具体操作可参考Hexo官方文档,这里不再赘述.cnb.yml
文件,修改配置#
import
行中的链接替换成密钥仓库文件的链接地址源代码管理
提交信息
,点击提交
Sync Changes
,同步代码云原生构建
通过 push 触发的任务
,进入构建页面存储桶列表
,找到刚刚创建的存储桶,点击配置管理
静态网站
,点击编辑
启用静态网站
,填写索引文档
,点击保存
2024年1月1日后创建的桶不支持使用默认域名在浏览器预览文件,所以需要绑定自定义域名,境内存储桶需要绑定已备案的域名
存储桶列表
,找到刚刚创建的存储桶,点击配置管理
域名与传输管理-自定义源站域名
,点击添加域名
域名:填写您的域名
源站类型:静态网站源站
正如上面所提到的,使用 COS 直接对外提供访问是一个很危险的行为,建议大家使用 CDN 等服务进行加速访问。
PS:有人可能好奇密钥为什么不打码,因为写完文章就删了,但是如果你是在生产环境中使用,请务必保护好你的密钥。