手把手部署hugo-teek博客到公网教程(无坑版)

最后更新于:

手把手部署hugo-teek博客到公网教程(无坑版)

本次是v2-2026.2.7版本

使用eo+cos来部署自己的hugo-teek博客到公网。(0服务器方案,0开销方案,快如闪电的部署方式)😜

最终效果

One博客 https://onedayxyy.cn/ (本人最终效果如下,大家可先尽情体验下。😜)

写在前面

告警

Hugo-teek 目前正处于余温作者开发配置中心阶段,可能会频繁地进行更新。且一键web更新还未开发完成,因此,强烈建议新进群的小伙伴不要去修改博客一些自定义的信息,你需要做的就是,把hugo-teek博客部署起来,然后把自己的md文档放到hugo-teek-site\content\docs\40.专题路径。然后发布到自己博客就好。

等后续一键web更新完全开发完成后,我们就可以在配置中心配置下自己的用户信息了,后续有新版出现时,我们一键web更新就可以升级到最新版。

目前的hugo-teek做个人博客/文档库完全是没问题的,但是想更加丝滑体验这款强大的博客,大家再耐心等待下,等我们伟大的余温群主王者归来。😜

部署环境

  1. 有一台windows电脑(本方案是,win本地维护md文档,然后博客托管在腾讯云eo边缘函数上。)
  2. 电脑上安装好了git
  3. 注册CNb账号(存储hugo-teek仓库代码及md核心文档)
  4. 注册腾讯eo账号(用来新建cos存储桶)
  5. 拥有自己的域名
  6. 有手就好😜

注意:🚩

(1)本次部署的环境是,我们在windows本地把hugo-teek仓库拉下来,然后把自己的md文档目录放到仓库对应hugo-teek-site\content\docs\40.专题路径,然后推送到cnb仓库,同时会触发cnb自动构建,进而发布网站。

(2)我们的hugo-teek静态dist产物是通过cnb流水线,云端构建完成后被推送到cos,再配合eo,用户就能正常访问咋们的博客了。我们只需要重点维护好自己仓库里的md文档就行。

快速体验⚡️

1️⃣方案1:常规部署方式 是将hugo-teek博客源码拉取到win本地,再通过cnb流水线推送到cos,进而发布自己博客;(本文重点讲解的方式。)

2️⃣方案2:也有一种更快速的方案,就是直接fork群主hugo-teek项目到自己cnb,然后点击Hugo-Teek宇宙启动🚀,就会自动打开cnb云开发控制台,也同时会自动打开博客运行界面,通过执行sh bin/linux/start-admin.sh 脚本,也会立马运行hugo-teek的在线后台,非常方便。(前提是得先拥有自己的cnb账号即可。)

这个是在cnb云开发linux环境上运行的,让然win环境也是可以这样操作的,只是目前作者先优先win开发的,等功能彻底开发完成后,win上的功能也会修复,耐心等待吧。😉

前置条件

1.购买cos资源包

2.创建存储桶

来到腾讯创建cos存储桶地址,我们创建下存储桶:

  • 所属地域 选择广州
  • 访问权限选择私有读写
  • 记得要关闭多AZ特性
  • 其余点击下一步就好。

3.获取腾讯云密钥

来到获取腾讯云密钥网址:

新建自己的密钥,记得保存好,后续要用:

1、拉取代码

1.拉取项目

我们来到自己的d盘,然后拉取项目:

1cd /d/
2git clone https://cnb.cool/yuwen-gueen/hugo-teeker-theme.git
3cd hugo-teeker-theme

🟢 双击运行

进入到bin\windows目录,双击运行start.bat脚本:

image-20251220022314233

🟢 访问测试

在浏览器输入http://localhost:8080/ 验证效果:

image-20251118021944048

🟢 我们再将本地项目推送到自己的cnb仓库

📢📢📢

具体步骤:

(1)创建私有库(存放hugo-teek源码及md核心文档)

  • 来到自己的CNb主页,创建一个私有仓库,名称叫做hugo-teek-private

  • 把上面拉取的代码,直接推送到这个私有库:

    再推送之前,先把我们本地的项目名称重命名为hugo-teek-private,然后推送;

(2)我们还需要编辑下项目下.cnb.yml文件内容:(这里将用户cnb一键流水线发布博客使用。)

以下文件我们只需要更改如下一处位置即可:(其余无需配置)

.cnb.yml文件内容:

注意:

自己cnb密钥仓库内容如下:(如果没有这个仓库,需要先新建一个自己的密钥仓库)这里要填的内容就是前面我们获取的腾讯云密钥信息,填好就行。

https://cnb.cool/onedayxyy/secret/-/blob/main/envs.yml

.cnb.yml文件内容:

 1master:
 2  push:
 3    - runner:
 4        cpus: 64
 5
 6      imports:
 7        - https://cnb.cool/onedayxyy/secret/-/blob/main/envs.yml        
 8
 9      docker:
10        image: docker.cnb.cool/yuwen-gueen/docker-images-chrom/hugo-teek-blog:latest
11
12      stages:
13        # ------------------------------
14        # 1️⃣ 记录开始时间
15        # ------------------------------
16        - name: set env
17          script: echo -n $(date +%s)
18          exports:
19            info: CUSTOM_ENV_START_TIME
20
21        # ------------------------------
22        # 4️⃣ 构建 Hugo
23        # ------------------------------
24        - name: build
25          script: |
26            make build-docker
27
28        - name: 部署到 cos
29          image: tencentcom/coscli        
30          script: |
31            coscli config set --secret_id $COS_SECRET_ID --secret_key $COS_SECRET_KEY
32            coscli config add --init-skip=true -b $COS_BUCKET -r $COS_REGION
33            coscli sync ./hugo-teek-site/public cos://$COS_BUCKET/ -r \
34              --delete --force --routines=1000 --thread-num=1000
35
36
37        - name: 🧘‍♂️ 刷新缓存
38          image: docker.cnb.cool/znb/cdn-refresh
39          settings:
40            ak: "${COS_SECRET_ID}"
41            sk: "${COS_SECRET_KEY}"
42            kind: "tencenteo"
43            rtype: "path"
44            domain: "onedayxyy.cn"
45            urls:
46              - "https://onedayxyy.cn/"
47
48        # ------------------------------
49        # 6️⃣ 计算耗时
50        # ------------------------------
51        - name: ⏱️ 计算耗时
52          script: |
53            end_time=$(date +%s)
54            duration=$((end_time - $CUSTOM_ENV_START_TIME))
55            minutes=$((duration / 60))
56            seconds=$((duration % 60))
57            echo -n "${minutes}分${seconds}秒"
58          exports:
59            info: CUSTOM_ENV_BUILD_TIME
60
61        # ------------------------------
62        # 7️⃣ 钉钉通知
63        # ------------------------------
64        - name: 钉钉通知
65          image: docker.cnb.cool/yuwen-gueen/docker-images-chrom/tencentcom-dingtalk-bot-msg:latest_amd64
66          settings:
67            content: "「Hugo-Teek One Blog」发布完成,耗时: ${CUSTOM_ENV_BUILD_TIME}"
68            c_type: "text"
69            secret: $SECRET
70            webhook: $WEBHOOK
71            isAtAll: false
72            debug: false
73
74include:
75  - .cnb/vscode.yml

2.更新文档

以上,我们的hugo-teek博客已经下载并部署好了,那么该如何新增自己的md文档呢?

把自己的md文档放到hugo-teek-site\content\docs\40.专题路径下就好(无论是目录或者md文档都行),就这么简单。

我的截图如下:

3.配置信息

待余温作者把hugo-teek的配置中心配置完成后,我们就可以本地运行图形化来配置博客选项了,非常简单。我们耐心等待吧。😉

当然,如果你想现在就自定义自己的博客配置,那么可以看我如下文档:

《自定义配置信息》https://onedayxyy.cn/topic/grhke (跟着文档配置,很简单,立马就可以配置为自己博客的一些信息。😜)

以上,我们的hugo-teek博客是可以在本地快乐地运行了,但是如何把这个博客部署到公网,别人也可以访问呢?请看下文。

使用eo+cos存储桶来部署自己的hugo-teek博客到公网。(0服务器方案)😜

2、发布博客

1.配置域名

这里做好eo的域名配置

2.开启静态网站

来到自己刚创建好的cos存储桶位置:

🔴 记得要在这个存储桶下开启静态网站功能哦!!!

3.缓存配置

来到eo的缓存配置,我们开启几个配置:

  • 记得配置下节点缓存TTL浏览器缓存TTL缓存过期时间为30天;
  • 开启下离线缓存;
  • 开启HSTS配置(保持默认即可);
  • 开启 强制https 功能(需要设置为重定向方式:301);

3、访问验证

https://onedayxyy.cn/

结束。

推荐使用微信支付
微信支付二维码
推荐使用支付宝
支付宝二维码
最新文章