--- name: tencent-dnspod description: | 腾讯云DNSPod域名快速部署工具。用于自动化部署DNS记录、批量配置域名解析、快速上线服务。 当用户需要: (1) 快速添加DNS记录部署新服务, (2) 批量配置A/CNAME/MX等记录, (3) 域名解析自动化管理, (4) DevOps域名部署流程时触发。 --- # 腾讯云DNSPod域名快速部署 ## 快速开始 ### 1. 配置认证 获取API密钥: https://console.cloud.tencent.com/cam/capi **方式1: 使用 .env 文件(推荐,更安全):** ```bash cp .env.example .env # 编辑 .env 文件,填入你的密钥 ``` **方式2: 设置环境变量:** ```bash export TENCENT_SECRET_ID="你的SecretId" export TENCENT_SECRET_KEY="你的SecretKey" ``` ### 2. 核心命令 **添加单条记录(最常用):** ```bash python scripts/deploy_record.py \ --domain example.com \ --subdomain www \ --type A \ --value 1.2.3.4 \ --line "默认" ``` **批量部署(从配置文件):** ```bash python scripts/batch_deploy.py \ --domain example.com \ --config dns-config.json ``` **快速配置服务(常用组合):** ```bash python scripts/deploy_service.py \ --domain example.com \ --service web \ --ip 1.2.3.4 ``` **删除记录:** ```bash python scripts/delete_record.py \ --domain example.com \ --subdomain www ``` ## 域名快速部署流程 ### 场景1: 部署新Web服务 ```bash # 一键部署www和主域名 python scripts/deploy_service.py \ --domain example.com \ --service web \ --ip 1.2.3.4 # 自动创建: # - example.com (A记录) # - www.example.com (A记录) # - *.example.com (泛域名A记录,可选) ``` ### 场景2: 部署API服务 ```bash # 部署api子域名 python scripts/deploy_record.py \ --domain example.com \ --subdomain api \ --type A \ --value 1.2.3.4 ``` ### 场景3: 配置邮件服务 ```bash # 一键配置MX记录 python scripts/deploy_mx.py \ --domain example.com \ --mx-server mx.example.com \ --priority 10 ``` ### 场景4: CDN加速配置 ```bash # 添加CNAME指向CDN python scripts/deploy_record.py \ --domain example.com \ --subdomain cdn \ --type CNAME \ --value cdn.example.com.cdn.dnsv1.com ``` ### 场景5: 批量部署多个环境 ```bash # 从配置文件批量创建 python scripts/batch_deploy.py \ --domain example.com \ --config deployments/dev.json # 配置文件示例见下文 ``` ## 记录类型说明 | 类型 | 用途 | 示例 | |------|------|------| | A | 指向IPv4地址 | www → 1.2.3.4 | | CNAME | 指向域名别名 | www → cdn.example.com | | MX | 邮件服务器 | @ → mx.example.com | | TXT | 文本记录(验证/SPF) | @ → "v=spf1 include:_spf.example.com ~all" | | AAAA | 指向IPv6地址 | www → 2001:db8::1 | ## 批量部署配置文件格式 `dns-config.json`: ```json { "records": [ { "subdomain": "@", "type": "A", "value": "1.2.3.4", "line": "默认" }, { "subdomain": "www", "type": "A", "value": "1.2.3.4", "line": "默认" }, { "subdomain": "api", "type": "A", "value": "1.2.3.5", "line": "电信" }, { "subdomain": "cdn", "type": "CNAME", "value": "cdn.example.com.cdn.dnsv1.com", "line": "默认" } ] } ``` 使用批量配置: ```bash python scripts/batch_deploy.py \ --domain example.com \ --config dns-config.json ``` ## 线路类型说明 常用线路值: - `默认` - 默认线路 - `电信` - 电信用户 - `联通` - 联通用户 - `移动` - 移动用户 - `境外` - 海外用户 - `搜索引擎` - 爬虫线路 查看完整线路列表: ```bash python scripts/list_lines.py --domain example.com ``` ## 常见问题 ### 1. 记录冲突 如果记录已存在,脚本会提示是否更新。使用 `--force` 强制更新。 ### 2. 批量操作失败 批量操作会继续执行后续记录,最后汇总结果。检查输出中的 `[FAIL]` 标记。 ### 3. API频率限制 默认限制: 20次/秒。大批量部署时会自动限速。 ### 4. 域名未添加 如果域名未添加到DNSPod,使用 `--create-domain` 自动创建: ```bash python scripts/deploy_record.py \ --domain example.com \ --create-domain \ --subdomain www \ --type A \ --value 1.2.3.4 ``` ## API错误处理 详细错误说明见 [common-errors.md](references/common-errors.md) ## 高级功能 ### 创建快照(部署前备份) ```bash python/scripts/snapshot.py \ --domain example.com \ --action create \ --name "部署前备份" ``` ### 回滚快照 ```bash python scripts/snapshot.py \ --domain example.com \ --action rollback \ --snapshot-id ``` ### 查看部署历史 ```bash python scripts/list_records.py \ --domain example.com \ --show-changes ``` ## 最佳实践 1. **部署前备份** - 重大部署前先创建快照 2. **分环境管理** - 使用不同子域名(dev/stage/prod) 3. **TTL设置** - 生产环境600s,测试环境60s 4. **批量测试** - 先在测试域名验证配置,再批量部署 5. **记录备注** - 添加 `--remark` 标记记录用途 ## 示例: 完整部署流程 ```bash # 1. 部署前备份 python scripts/snapshot.py --domain example.com --action create --name "部署前" # 2. 批量部署 python scripts/batch_deploy.py \ --domain example.com \ --config dns-config.json # 3. 验证部署 python scripts/list_records.py --domain example.com # 4. 测试解析 dig www.example.com ```