雲原生構建(CNB)+騰訊雲COS + Hexo 部署靜態博客網站
雲原生構建(Cloud Native Buildpacks,CNB)是一款基於 Docker 生態,對環境、緩存、插件進行抽象,通過聲明式的語法,幫助開發者以更酷的方式構建軟件的工具,本文將介紹如何使用 CNB 構建 Hexo 靜態博客,並部署到騰訊雲對象存儲(COS)。
前提條件
- 註冊雲原生構建(CNB)賬號,並完成實名認證,點此註冊
- 已完成CNB組織的創建,註冊完成後,在右上角
頭像
處,點擊我的組織
,然後點擊創建組織
,按提示完成組織創建 - 已開通騰訊雲對象存儲(COS)服務
操作步驟
新建代碼倉庫
- 登錄雲原生構建(CNB)控制檯,在右上角
頭像
處,點擊我的倉庫
,然後點擊創建倉庫
,按提示完成倉庫創建倉庫歸屬:選擇你的組織
倉庫名稱:填寫你的倉庫名稱
倉庫描述:填寫你的倉庫描述
公開性:選擇是否公開,建議私有 - 點擊
創建
,完成倉庫創建 - 創建完成後,頁面將提示
倉庫暫未完成初始化,您可以選擇以下任一方式完成倉庫的初始化
,這時點擊雲原生開發
- 等待環境初始化完成,點擊
使用 WEB IDE 打開
,進入代碼編輯界面 - 在編輯器的
終端
中,輸入以下命令,克隆 Hexo 倉庫到當前目錄1
cnb-init-from https://cnb.cool/examples/ecosystem/hexo-cos-demo.git
- 等待克隆完成
- 完成後關閉當前窗口,返回倉庫頁面,刷新,並點擊
雲原生構建
- 找到通過
vscode
觸發的任務並點擊 - 進入後點擊
停止構建
新建存儲桶
- 登錄騰訊雲對象存儲(COS)控制檯,在左側導航欄中點擊
存儲桶列表
,點擊創建存儲桶
- 按提示填寫信息完成存儲桶創建
地域:選擇存儲桶所在地域,就近選擇即可,默認廣州
名稱:填寫存儲桶名稱
訪問權限:選擇公有讀私有寫
,建議選擇私有讀寫
,此處爲了演示方便選擇公有讀私有寫
其他默認即可此處僅爲了演示方便,選擇了公有讀私有寫,實際使用時不建議大家直接使用 COS 存儲桶直接對外提供訪問服務,而是通過 CDN 等服務進行加速訪問。
- 創建完成後保存
存儲桶名稱
和存儲桶地域
,後續需要使用
新建騰訊雲API密鑰
- 登錄騰訊雲-訪問管理,點擊
新建密鑰
- 保存
SecretId
和SecretKey
,後續需要使用
新建密鑰倉庫
密鑰倉庫用於存儲敏感信息,如密鑰、密碼等供構建時使用
- 登錄雲原生構建(CNB)控制檯,在右上角
頭像
處,點擊我的倉庫
,然後點擊創建倉庫
,按提示完成倉庫創建倉庫歸屬:選擇你的組織
倉庫名稱:填寫你的倉庫名稱
倉庫描述:填寫你的倉庫描述
公開性:選擇密鑰倉庫 - 點擊
創建
,完成倉庫創建 - 點擊
新建
,選擇新建文件
,填寫文件名hexo_cos_secret.yml
,內容如下1
2
3
4
5
6
7
8# 騰訊雲 SecretId
COS_SECRET_ID: AKIDCOxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
# 騰訊雲 SecretKey
COS_SECRET_KEY: tt3S4fExxxxxxxxxxxxxxxxxxxxxxxx
# 騰訊雲 COS 存儲桶名稱
COS_BUCKET: hexo-demo-xxxxxxx
# 騰訊雲 COS 存儲桶地域
COS_REGION: ap-guangzhou - 點擊
提交
,完成密鑰文件創建 - 創建完成後在
倉庫
頁面,點擊剛剛創建的文件,在瀏覽器地址欄中複製鏈接地址
,後續需要使用
編輯站點基本信息 && 新建頁面
- 在倉庫首頁點擊
雲原生開發
- 等待環境初始化完成,點擊
使用 WEB IDE 打開
,進入代碼編輯界面 - 進入編輯器後,打開
_config.yml
文件,修改站點基本信息,完成修改後保存即可 - 您可通過在終端運行
hexo n 文章標題
命令新建文章,也可直接在source/_posts
目錄下新建md
文件,編輯文章內容,具體操作可參考Hexo官方文檔,這裏不再贅述
配置雲原生構建
- 在編輯器中打開
.cnb.yml
文件,修改配置- 去除指定行的註釋符
#
- 將
import
行中的鏈接替換成密鑰倉庫文件的鏈接地址
- 去除指定行的註釋符
- 完成修改後保存即可
提交代碼並構建
- 在編輯器左側菜單欄中點擊
源代碼管理
- 在彈出的窗口中,填寫
提交信息
,點擊提交
- 提交完成後點擊
Sync Changes
,同步代碼 - 等待同步完成後,返回倉庫頁面,點擊
雲原生構建
- 點擊
通過 push 觸發的任務
,進入構建頁面 - 可在構建頁面查看構建日誌,等待構建完成
- 構建完成後,我們可以前往騰訊雲 COS 控制檯查看存儲桶中是否已經上傳了靜態網站文件
開啓存儲桶靜態網站
- 在騰訊雲 COS 控制檯中,點擊
存儲桶列表
,找到剛剛創建的存儲桶,點擊配置管理
- 在左側導航欄中點擊
靜態網站
,點擊編輯
- 勾選
啓用靜態網站
,填寫索引文檔
,點擊保存
綁定自定義域名
2024年1月1日後創建的桶不支持使用默認域名在瀏覽器預覽文件,所以需要綁定自定義域名,境內存儲桶需要綁定已備案的域名
- 在騰訊雲 COS 控制檯中,點擊
存儲桶列表
,找到剛剛創建的存儲桶,點擊配置管理
- 在左側導航欄中點擊
域名與傳輸管理-自定義源站域名
,點擊添加域名
- 按提示填寫信息完成域名綁定
域名:填寫您的域名
源站類型:靜態網站源站 - 添加完成後請前往域名服務商處添加解析,將域名解析到存儲桶靜態網站域名
- 解析完成後,即可通過域名訪問靜態網站
後續操作
正如上面所提到的,使用 COS 直接對外提供訪問是一個很危險的行爲,建議大家使用 CDN 等服務進行加速訪問。
PS:有人可能好奇密鑰爲什麼不打碼,因爲寫完文章就刪了,但是如果你是在生產環境中使用,請務必保護好你的密鑰。
本博客所有文章除特別聲明外,均採用 CC BY-NC-SA 4.0 許可協議。轉載請註明來源 麻豆视频!