logo
0
1
Login
ForkfromAnyexyz/Deploy/Halo, ahead:main1 commits

🚀 CNB 一键部署:Halo 博客与企业门户系统

本项目提供了基于 CNB 平台的 Halo 博客系统一键部署功能,通过自定义 Web 触发器实现便捷的博客系统部署操作。

🌟 项目概述

本项目使用 CNB(云原生构建)平台的 Web 触发器功能,实现了 Halo 博客系统的一键部署。用户只需点击对应的执行按钮,填写必要参数,即可自动完成云服务器的环境配置、DNS 解析和 Halo 博客系统部署。

✨ 功能特点

  • 🚀 一键操作:自动获取 IP、配置 DNS、部署 Halo,全程无需手动干预!
  • 🌍 多地域支持:支持腾讯云全球所有地域
  • 🔐 安全可靠:基于 CNB 平台的安全密钥管理
  • 📊 实时监控:流水线执行过程全程可视化
  • 🌐 自动解析:自动配置域名 A 记录和 AAAA 记录
  • 🐳 容器化部署:基于 Docker 的标准化部署方案

🚀 快速开始

前置条件

  • 拥有 CNB 平台账号和仓库访问权限
  • 准备好腾讯云 API 密钥(已存储在密钥仓库中)
  • 准备好已备案的域名
  • 实例需要开通 自动化助手(免费)

使用步骤

  1. Fork 本仓库

  2. 配置密钥仓库

    • 打开项目的 .cnb.yml 文件
    • 修改第三行 imports 为你的密钥仓库链接
    • 保存
  3. 执行部署操作

    • 找到"一键部署 Halo"按钮并点击
    • 填写必要参数(参考参数获取方法
    • 点击"确认"按钮提交执行请求
  4. 监控执行过程

    • 在流水线页面监控执行过程
    • 执行完成后,Halo 博客系统将自动启动并可通过域名访问

📖 使用指南

详细配置说明

1. 密钥仓库配置

创建一个私有仓库作为密钥仓库,包含以下环境变量:

  • SECRET_ID: 腾讯云 SecretId
  • SECRET_KEY: 腾讯云 SecretKey

2. 参数填写说明

在执行部署操作时,需要填写以下参数:

参数名描述示例
instance_ids腾讯云 CVM/LH 实例 IDins-xxxxxxxx
region实例所在地域ap-guangzhou
domain要绑定的域名example.com 或 blog.example.com 或 blog:example.com

🔧 参数获取方法

获取 API 密钥 (SECRET_ID 和 SECRET_KEY)

  1. 登录腾讯云控制台,点击右上角头像,选择"访问管理"
  2. 在左侧菜单中选择"访问密钥" > "API 密钥管理"
  3. 点击"新建密钥"创建新的 API 密钥
  4. 保存生成的 SecretId 和 SecretKey,SecretKey 只在创建时显示一次,请妥善保管

获取实例 ID (instance_ids)

  1. 登录腾讯云控制台,进入"云服务器 CVM"产品页面
  2. 在实例列表中找到需要操作的实例
  3. 实例 ID 格式为 ins-xxxxxxxx

获取地域 (region)

  1. 登录腾讯云控制台,在实例列表页面左上角可查看当前地域
  2. 地域格式为 ap-城市代码,如 ap-guangzhou(广州)、ap-beijing(北京)等

通过实例元数据获取实例信息

如果已经在实例内部,可以通过实例元数据服务获取实例信息:

# 获取实例 ID curl http://metadata.tencentyun.com/latest/meta-data/instance-id # 获取实例所在地域 curl http://metadata.tencentyun.com/latest/meta-data/placement/region

💡 提示:实例元数据服务只能从实例内部访问

📋 部署流程详解

本项目的 CNB 流水线包含以下四个主要阶段:

阶段 1: 获取公网 IP 地址

  • 从腾讯云实例元数据服务获取公网 IPv4 和 IPv6 地址
  • 导出结果供后续阶段使用

阶段 2: 解析 IP 地址

  • 从获取的信息中提取有效的 IPv4 和 IPv6 地址
  • 提供清晰的输出信息,便于调试

阶段 3: 配置 DNS 解析

  • 自动解析域名和子域名
  • 使用腾讯云 DNSPod API 创建或更新 DNS 记录
  • 支持同时配置 A 记录(IPv4)和 AAAA 记录(IPv6)
  • 包含完善的错误处理和状态检查

阶段 4: 部署 Halo 系统

  • 自动检查并安装 Docker(如需要)
  • 下载最新的 docker-compose.yml 配置文件
  • 创建环境变量文件并启动服务
  • 提供部署完成后的访问地址

⚠️ 安全注意事项

  • 密钥管理:腾讯云 API 密钥存储在密钥仓库中,确保只有授权人员可以访问
  • 域名备案:确保域名已完成备案,否则可能无法正常访问
  • 权限最小化:API 密钥应只授予必要的权限,避免使用全权限密钥
  • 定期轮换:建议定期更换 API 密钥,提高安全性
  • 防火墙配置:确保实例安全组已开放必要端口(80、443)

📄 许可证

本项目采用 MIT 许可证,详情请参阅 LICENSE 文件。

About

🚀 CNB 一键部署:Halo 博客与企业门户系统

68.00 KiB
0 forks1 stars1 branches0 TagREADMEMIT license