雲原生構jiàn(Cloud Native Buildpacks,CNB)是一款基 Docker 生tài,對環jìng、緩cún、插件進行抽xiàng,通過聲明式的語,幫助開發者以更酷的方式構建軟件的工,本文將介紹如何使yòng CNB 構jiàn Hexo 靜態博,並部署到騰訊雲對象存chǔ(COS)。

前提條jiàn

  1. 註冊雲原生構jiàn(CNB)賬hào,並完成實名認zhèng點此註
  2. 已完chéngCNB組織的創jiàn,註冊完成hòu,在右上jiǎo頭像chù,點我的組織,然後點創建組織,按提示完成組織創jiàn
  3. 已開tōng騰訊雲對象存chǔ(COS)服

操作步zhòu

新建代碼倉

  1. 雲原生構jiàn(CNB)控制tái,在右上jiǎo頭像chù,點我的倉庫,然後點創建倉庫,按提示完成倉庫創jiàn
    新建代碼倉庫

    倉庫歸shǔ:選擇你的組zhī
    倉庫名chēng:填寫你的倉庫名chēng
    倉庫描shù:填寫你的倉庫描shù
    公開xìng:選擇是否公kāi,建議私yǒu

  2. 創建,完成倉庫創jiàn
  3. 創建完成hòu,頁面將提shì倉庫暫未完成初始化,您可以選擇以下任一方式完成倉庫的初始化,這時點雲原生開發
    倉庫初始化
  4. 等待環境初始化完chéng,點使用 WEB IDE 打開,進入代碼編輯界miàn
    環境構建完成
  5. 在編輯器de終端zhōng,輸入以下命lìng,克lóng Hexo 倉庫到當前目
    1
    cnb-init-from https://cnb.cool/examples/ecosystem/hexo-cos-demo.git
  6. 等待克隆完chéng
    克隆倉庫
  7. 完成後關閉當前窗kǒu,返回倉庫頁miàn,刷xīn,並點雲原生構建
    返回倉庫頁面
  8. 找到通guòvscode觸發的任務並點
    觸發任務
  9. 進入後點停止構建
    停止構建

新建存儲tǒng

  1. 騰訊雲對象存chǔ(COS)控制tái,在左側導航欄中點存儲桶列表,點創建存儲桶
    新建存儲桶
  2. 按提示填寫信息完成存儲桶創jiàn
    填寫存儲桶信息

    :選擇存儲桶所在地,就近選擇即,默認廣zhōu
    chēng:填寫存儲桶名chēng
    訪問權xiàn:選公有讀私有寫,建議選私有讀寫,此處爲了演示方便選公有讀私有寫
    其他默認即

    此處僅爲了演示方便biàn,選擇了公有讀私有xiě,實際使yòng時不建議大家直接使用 COS 存儲桶直接對外提供訪問服,而是通guò CDN 等服務進行加速訪wèn

  3. 創建完成後保cún存儲桶名稱存儲桶地域,後續需要使yòng
    存儲桶信息

新建騰訊yúnAPI密yào

  1. 騰訊yún-訪問管,點新建密鑰
    新建密鑰
  2. cúnSecretIdSecretKey,後續需要使yòng
    密鑰信息

新建密鑰倉

密鑰倉庫用於存儲敏感信,如密yào、密碼等供構建時使yòng

  1. 雲原生構jiàn(CNB)控制tái,在右上jiǎo頭像chù,點我的倉庫,然後點創建倉庫,按提示完成倉庫創jiàn
    新建密鑰倉庫

    倉庫歸shǔ:選擇你的組zhī
    倉庫名chēng:填寫你的倉庫名chēng
    倉庫描shù:填寫你的倉庫描shù
    公開xìng:選擇密鑰倉

  2. 創建,完成倉庫創jiàn
  3. 新建,選新建文件,填寫文件mínghexo_cos_secret.yml,內容如xià
    1
    2
    3
    4
    5
    6
    7
    8
    # 騰訊yún SecretId
    COS_SECRET_ID: AKIDCOxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
    # 騰訊yún SecretKey
    COS_SECRET_KEY: tt3S4fExxxxxxxxxxxxxxxxxxxxxxxx
    # 騰訊yún COS 存儲桶名chēng
    COS_BUCKET: hexo-demo-xxxxxxx
    # 騰訊yún COS 存儲桶地
    COS_REGION: ap-guangzhou
    新建密鑰文件
  4. 提交,完成密鑰文件創jiàn
  5. 創建完成後zài倉庫miàn,點擊剛剛創建的文jiàn,在瀏覽器地址欄中複zhì鏈接地址,後續需要使yòng
    複製鏈接地址

編輯站點基本信 && 新建頁miàn

  1. 在倉庫首頁點雲原生開發
    雲原生開發
  2. 等待環境初始化完chéng,點使用 WEB IDE 打開,進入代碼編輯界miàn
    環境構建完成
  3. 進入編輯器hòu,打kāi_config.ymljiàn,修改站點基本信,完成修改後保存即
    修改站點基本信息
  4. 您可通過在終端運xínghexo n 文章標題命令新建文zhāng,也可直接zàisource/_posts目錄下新jiànmdjiàn,編輯文章內róng,具體操作可參kǎoHexo官方文dàng,這裏不再贅shù

配置雲原生構jiàn

  1. 在編輯器中打kāi.cnb.ymljiàn,修改配zhì
    修改構建配置
    • 去除指定行的註釋#
    • jiāngimport行中的鏈接替換成密鑰倉庫文件的鏈接地zhǐ
  2. 完成修改後保存即
    保存配置

提交代碼並構jiàn

  1. 在編輯器左側菜單欄中點源代碼管理
    源代碼管理
  2. 在彈出的窗口zhōng,填xiě提交信息,點提交
    提交代碼
  3. 提交完成後點Sync Changes,同步代
    同步代碼
  4. 等待同步完成hòu,返回倉庫頁miàn,點雲原生構建
    返回倉庫頁面
  5. 通過 push 觸發的任務,進入構建頁miàn
    觸發構建
  6. 可在構建頁面查看構建日zhì,等待構建完chéng
  7. 構建完成hòu,我們可以前wǎng騰訊yún COS 控制tái查看存儲桶中是否已經上傳了靜態網站文jiàn
    查看存儲桶
    查看存儲桶

開啓存儲桶靜態網zhàn

  1. zài騰訊yún COS 控制táizhōng,點存儲桶列表,找到剛剛創建的存儲tǒng,點配置管理
  2. 在左側導航欄中點靜態網站,點編輯
    啓用靜態網站
  3. xuǎn啓用靜態網站,填xiě索引文檔,點保存
    配置靜態網站

綁定自定義域míng

2024nián1yuè1日後創建的桶不支持使用默認域名在瀏覽器預覽文jiàn,所以需要綁定自定義域míng,境內存儲桶需要綁定已備案的域míng

  1. zài騰訊yún COS 控制táizhōng,點存儲桶列表,找到剛剛創建的存儲tǒng,點配置管理
  2. 在左側導航欄中點域名與傳輸管理-自定義源站域名,點添加域名
    添加域名
  3. 按提示填寫信息完成域名綁dìng
    填寫域名信息

    míng:填寫您的域míng
    源站類xíng:靜態網zhàn源站

  4. 添加完成後請前往域名服務商處添加解,將域míng解析到存儲桶靜態網站域名
    添加解析
  5. 解析完成hòu,即可通過域名訪問靜態網zhàn
    訪問靜態網站

後續操zuò

正如上面所提到de,使yòng COS 直接對外提供訪問是一個很危險的行wèi,建議大家使yòng CDN 等服務進行加速訪wèn
PS:有人可能好奇密鑰爲什麼不打,因爲寫完文章就刪le,但是如果你是在生產環境中使yòng,請務必保護好你的密yào