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