基于 CNB进行初始化caddy环境
前言
最近发现了一个构建网站,cnb.tool
,看介绍是说云原生构建(Cloud Native Build),反正刚好想学习一下caddy,那么就拿cnb搞个环境进行学习学习咯,我看了下可以白嫖环境,应该也够我使用了。
腾讯云原生构建介绍
下面是使用AI进行总结的cnb介绍,不是我写的。
腾讯云原生构建(Cloud Native Build,简称CNB)是腾讯云推出的基于Docker生态的开发者平台,旨在简化云原生应用的开发、构建和部署流程,提升开发效率。以下是其核心特点和服务介绍:
一、核心特性
- 秒级克隆与高效构建
CNB采用Copy-on-Write(CoW)技术,即使是百GB级别的大型代码仓库(如Android Open Source Project)也能在数秒内完成克隆。构建时通过独立的CoW文件系统副本实现缓存隔离与并发加速,显著缩短编译时间,例如AOSP项目的构建耗时从46分钟降至1.5分钟。 -
环境一致性与分支即环境
所有开发环境基于统一容器镜像构建,确保开发、测试、生产环境的一致性,避免“本地能跑,线上报错”的问题。支持分支即环境,每个分支可独立配置资源,简化多版本并行开发的管理。 -
弹性资源调度与免费额度
提供个人开发者1600核时/月的云原生开发资源和160核时/月的构建资源,同时赠送100GiB代码存储和100GiB对象存储空间。非营利组织还可申请永久免费特权。
二、应用场景与技术集成
-
AI开发支持
全面接入DeepSeek-R1大模型,开发者可在CNB内使用智能代码补全、任务建议生成等功能。例如,通过集成DeepSeek快速搭建智能博客系统或任务管理应用,实现AI驱动的开发体验。 -
大型项目管理与开源协作
针对超大规模仓库(如AOSP),CNB的“读秒克隆”和资源池化技术可支持高并发构建,6条流水线并行时仍能保持3.8秒的代码准备速度。同时提供Git托管、CI/CD流水线、远程开发等工具,促进开源协作。 -
安全与合规
支持微信登录、代码质量分析(集成腾讯云代码分析TCA)、漏洞扫描等功能,并通过内网加速(VPC环境)保障数据传输安全。
三、定价与使用案例
收费额度参考:https://docs.cnb.cool/zh/saas/pricing.html
• 免费方案:8核云服务器每月免费200小时,适合个人及小型团队。
• 企业级服务:提供400+云服务支持,涵盖计算(如Lighthouse)、存储、数据库(TDSQL-C)、网络(VPC/CDN)等。
基于CNB构建caddy环境
创建仓库啥的这边省略….请自行创建。或者直接复制我仓库自行部署也行,仓库地址:https://cnb.cool/guoliangjun/study-caddy
创建.cnb.yml
文件
$:
vscode:
- runner:
cpus: 2
services:
- vscode
- docker
stages:
- name: get caddy
script: curl -s https://api.github.com/repos/caddyserver/caddy/releases/latest | jq -r '.assets[] | select(.name | test("linux_amd64.tar.gz$")) | .browser_download_url' | xargs curl -LO
- name: add caddy
script: tar -xzf caddy_*.tar.gz caddy && mv caddy /usr/local/bin && rm caddy_*.tar.gz && chmod +x /usr/local/bin/caddy
- name: run caddy
script: caddy run --config /workspace/Caddyfile
创建Caddyfile
文件
# 正常输出
:8080 {
respond "Hello, world!"
}
# 如果你没有索引文件但想要显示文件列表,请使用以下browse参数
:8081 {
file_server browse
}
# 使用另一个文件夹作为站点根目录
:8082 {
root * /workspace/mysite
file_server
}
# 反向代理
:8083 {
reverse_proxy 127.0.0.1:8082
}
# 快速且现代的压缩算法压缩
:8084 {
encode zstd gzip
templates
file_server browse
}
# 共享相同配置的多个站点
:8085, :8086 {
respond "I am 8085 8086"
templates
}
:8087 {
reverse_proxy https://199604.com {
header_up Host {upstream_hostport}
}
}
:8088 {
redir https://199604.com{uri}
}
点击云原生开发进入环境
初始化环境后,选择在线webide即可进行边开发边体验
学习caddy
教程基于CADDY 教程 进行验证学习
每次修改完Caddyfile
文件后,在cnb环境命令行中验证都需要执行:
# 自动修正格式
caddy fmt --overwrite
# 进行重新加载
caddy reload