用途:把前端静态站点(SPA 或多页)的构建产物部署到阿里云 OSS 存储并通过 CDN 提供 HTTPS 访问,域名、DNS、OSS、CDN 需在同一阿里云账号下;域名托管在第三方时需自行处理 DNS 映射。
依赖:域名/DNS、OSS、CDN 分别依赖 aliyun-domain-skills、aliyun-oss-skills、aliyun-cdn-skills 的 SKILL.md;环境需 Node.js(构建)、Python 3(调用脚本)、certbot(申请证书),并安装各 skill 的 requirements.txt。
前置检查:凭证来自环境变量 ALIBABA_CLOUD_ACCESS_KEY_ID/SECRET 或项目根目录 .env;需 OSS 读写与 CDN 域名管理/证书/刷新权限,遇 403 立即停止,待补全 RAM 策略后继续。
配置:部署信息写入项目根目录 .aliyun-config.json,支持单项目对象格式与多项目数组格式,字段含 version、domain_apex、cdn_domain、oss_bucket、oss_region、cdn_cname_target、origin_mode(默认 private_with_cdn_auth)、last_deploy_at,多项目时需 project 字段。
增量更新:配置完整时仅执行构建→上传 OSS→刷新 CDN;数组格式先让用户选择项目。更换域名/Bucket/CDN/证书或新增项目则走完整流程。
主流程:查询账号域名并让用户选定→查询/创建 OSS Bucket(默认私有 ACL,开启静态网站,首页 index.html,404 同首页)→构建并上传产物(index.html 在根路径)→配置 CDN 加速域名(web 类型,源站为 OSS 并开启私有回源,国内加速需检查 ICP 备案)→添加 CNAME 记录→用 certbot certonly --manual --preferred-challenges dns -d <域名> 做 DNS-01 验证并添加 _acme-challenge TXT 记录→上传证书启用 HTTPS(建议强制 HTTPS、HTTP/2)→启用域名并访问 https://<加速域名>/ 验收→更新配置文件并提示证书续期。
限制:域名、Bucket、CDN、证书等关键项必须由用户确认,Agent 不得代决;证书有效期 90 天需重新申请;可能产生 OSS 存储/请求、CDN 流量/HTTPS、域名续费费用,Let's Encrypt 证书免费。故障排查覆盖 403 权限、根路径 404、SPA 路由空白、缓存未刷新、证书不匹配、CNAME 未生效等情形。