惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

T
Tenable Blog
月光博客
月光博客
雷峰网
雷峰网
WordPress大学
WordPress大学
博客园 - 司徒正美
Last Week in AI
Last Week in AI
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
V
Visual Studio Blog
H
Help Net Security
Engineering at Meta
Engineering at Meta
Google DeepMind News
Google DeepMind News
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO
S
Security @ Cisco Blogs
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
爱范儿
爱范儿
W
WeLiveSecurity
J
Java Code Geeks
Forbes - Security
Forbes - Security
H
Hacker News: Front Page
T
Threatpost
The Cloudflare Blog
C
Cyber Attacks, Cyber Crime and Cyber Security
N
Netflix TechBlog - Medium
Latest news
Latest news
V2EX - 技术
V2EX - 技术
小众软件
小众软件
T
The Blog of Author Tim Ferriss
A
Arctic Wolf
B
Blog RSS Feed
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
I
InfoQ
C
Check Point Blog
N
News | PayPal Newsroom
Cyberwarzone
Cyberwarzone
V
V2EX
TaoSecurity Blog
TaoSecurity Blog
P
Privacy & Cybersecurity Law Blog
Microsoft Security Blog
Microsoft Security Blog
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
D
DataBreaches.Net
F
Fortinet All Blogs
阮一峰的网络日志
阮一峰的网络日志
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
IT之家
IT之家
K
Kaspersky official blog
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
Google DeepMind News
Google DeepMind News
C
CXSECURITY Database RSS Feed - CXSecurity.com
www.infosecurity-magazine.com
www.infosecurity-magazine.com

阿猪的博客

好坑爹!派息后买入的股票怎么也扣股息税? 游哈尔滨 跨年往事 安装Ta-Lib时报错"Could not build wheels" 网站被恶意镜像了该怎么办 延迟退休正式到来!来看看有什么规定 我的基金怎么就被强制卖出了? Hexo-AlgoliaSearch插件报错“Error has occurred during indexing posts” 找工作避坑不完全指南 办理信用卡应该注意什么 华为Pad开启了“共享至电脑”,但是Windows下无法正常访问 webdriver-manager报错一例 Windows无法从环境变量中找到Python的正确位置 习大大2024年新年贺词 号外!号外!Twikoo可以直接屏蔽垃圾评论啦! 如何将Coding的代码仓同步到Github 博客被攻击了 华为Pad开启了“共享至电脑”,但是Ubuntu下无法正常访问 如何恢复Etcher刻录过的U盘 如何在Ubuntu下快速切换网络代理状态 在腾讯云函数中使用Pandas报错`No module named 'numpy.core._multiarray_umath'` 对空的DataFrame使用apply方法未得到预期结果 SQLite中使用关键字作为列名称导致报错 Logging模块重复输出内容的原因及解决方法 如何在Selenium中保持网站的登录状态 如何下载与Chrome浏览器的版本相匹配的ChromeDriver 如何下载旧版本Python的安装包 如何为不同的Python项目自动选择不同的解释器 使用腾讯云函数搭建Web站点 WordPress CORS问题一例 踩坑阿里云函数计算搭建WordPress 在AWS Amplify中部署Jekyll站点 让Chirpy主题支持折叠展示代码块 实现ChatGPT的文字输出效果 python中使用'''注释代码后引起报错 使用python自带的email模块解析邮件 使用pandas_bokeh在地图上显示数据 如何通过复权因子计算复权价格 国内量化平台不完全汇总
如何使用CNB构建Hexo项目并部署到腾讯云COS
阿猪 · 2026-02-27 · via 阿猪的博客

  本文介绍阿猪尝试使用腾讯云CNB构建Hexo项目并部署到腾讯云COS的过程。

一、场景概述

  阿猪的博客基于Hexo框架,部署流程如下:

1、在本地使用Vscode编辑文章
2、将本地Hexo项目推送到腾讯云CODING DevOps的仓库中
3、使用CODING DevOps的CI/CD功能自动构建项目,并将产物部署到腾讯云COS存储桶
4、使用腾讯云CDN提供加速服务,将COS存储桶设为CDN的源站。

  可惜腾讯云去年9月将CODING DevOps下线了,再加上阿猪去年较忙,一直没有花精力去研究替代方案,导致博客断更了大半年。

  最近闲下来些,阿猪重新研究了替代方案,并写此文作以总结和分享。

二、操作流程

  鉴于“能用就行”的偷懒原则,阿猪决定继续沿用先前的部署方案,仅使用其他代码仓和构建主机来替代原先的CODING DevOps。阿猪无脑选择了CODING DevOps官网推荐的替代方案:腾讯云CNB(Cloud Native Build,云原生构建)。

1、准备工作

(1)一个用作CDN源站的腾讯云COS存储桶。

  管理路径为 腾讯云控制台 -> 对象存储 -> 存储桶列表。

(2)一个有权限访问COS存储桶的SecretId和SecretKey。

  管理路径为 腾讯云控制台 -> 访问管理 -> 访问密钥 -> API密钥管理。

(3)已经在CNB中创建了一个组织,用于创建和管理仓库。

(4)一个用于存储Hexo项目源代码的空白CNB仓库(公开或私有均可)。

  管理路径为 组织的首页 -> 右上角“+” - “创建仓库”。

(5)一个有权限访问CNB中Hexo项目仓库的Git客户端凭据。

  管理路径为 组织的首页 -> 右上角头像 -> 个人设置 -> 访问令牌。

2、创建环境变量文件

  CNB不能像CODING DevOps那样直接在仓库的设置中管理环境变量,需要先将环境变量写入另一个仓库中,然后再在CI/CD配置文件中引用。

  登录CNB后进入组织的首页,依次点击页面右上角的“+” -> “创建仓库”。

  进入“创建仓库”页面,填写仓库名称、公开性选择“密钥仓库”。

  在这个新建的密钥仓库中创建一个yml文件,文件名随意,内容如下:

1
2
3
4
5
6
7
8

COS_SECRET_ID: <你的腾讯云SecretId>

COS_SECRET_KEY: <你的腾讯云SecretKey>

COS_BUCKET: <你腾讯云COS存储桶的名称,例如”bucket-hexo-xxxx“>

COS_REGION: <你腾讯云COS存储桶的地域,例如”ap-shanghai“>

3、将本地Hexo项目推送到CNB仓库

(1)在本地添加远程仓库

  仓库地址的格式为https://cnb.cool/<组织名称>/<仓库名称,不带.git>

(2)将本地Hexo项目PUSH到CNB仓库

  不要Fetch,直接PUSH即可,以免产生冲突。注意本地与远程的分支名称保持一致。

4、配置CNB CI/CD

  此处是本文的核心,本文的其他内容都只是出于行文完整而捎带的。

  在本地Hexo项目的根目录中创建一个.cnb.yml文件(文件名不可自定义),内容如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
main:

push:
- docker:
image: node:20
volumes:
- /root/.npm:cow
stages:
- name: 构建
script:
- npm install
- npm run build
- name: coscli 上传文件
image: tencentcom/coscli

imports: <yml文件的完整URL>
commands: |
coscli config set --secret_id $COS_SECRET_ID --secret_key $COS_SECRET_KEY
coscli config add --init-skip=true -b $COS_BUCKET -r $COS_REGION
coscli cp ./public cos://$COS_BUCKET -r

  此后每当本地Hexo项目向远程仓库推送更新时,都会触发CNB的云原生构建服务,自动构建Hexo项目并将构建产物部署到腾讯云COS存储桶。

  如果没有自动触发CNB的云原生构建服务,请检查仓库设置中是否勾选了”允许自动触发“选项。

版权声明: 未经书面授权许可,任何个人和组织不得以任何形式转载、引用本站的任何内容。本站保留追究侵权者法律责任的权利。