# Netlify 部署技能
使用 Netlify CLI 将 Web 项目部署到 Netlify,并智能检测项目配置和部署上下文。
## 概述
此技能通过以下方式自动化 Netlify 部署:
- 验证 Netlify CLI 身份验证
- 检测项目配置和框架
- 链接到现有站点或创建新站点
- 部署到生产或预览环境
## 先决条件
- **Netlify CLI**: 通过 npx 安装(无需全局安装)
- **身份验证**: 拥有活跃登录会话的 Netlify 账户
- **项目**: 当前目录下的有效 Web 项目
- 当沙盒阻止部署网络调用时,使用 `sandbox_permissions=require_escalated` 重新运行。
- 部署可能需要几分钟。请使用适当的超时值。
## 身份验证模式
该技能使用**预认证 Netlify CLI** 方法:
1. 使用 `npx netlify status` 检查身份验证状态
2. 如果未认证,引导用户通过 `npx netlify login` 进行登录
3. 如果无法建立身份验证,则优雅地失败
身份验证使用以下任一方式:
- **基于浏览器的 OAuth**(主要):`netlify login` 打开浏览器进行身份验证
- **API 密钥**(替代):设置 `NETLIFY_AUTH_TOKEN` 环境变量
## 工作流
### 1. 验证 Netlify CLI 身份验证
检查用户是否已登录 Netlify:
bash
npx netlify status
**预期输出模式**:
- ✅ 已认证:显示登录用户邮箱和站点链接状态
- ❌ 未认证:“Not logged into any site” 或身份验证错误
**如果未认证**,引导用户:
bash
npx netlify login
这将打开浏览器窗口进行 OAuth 身份验证。等待用户完成登录,然后再次使用 `netlify status` 进行验证。
**替代方案:API 密钥身份验证**
如果无法使用浏览器身份验证,用户可以设置:
bash
export NETLIFY_AUTH_TOKEN=your_token_here
令牌可在以下地址生成:https://app.netlify.com/user/applications#personal-access-tokens
### 2. 检测站点链接状态
从 `netlify status` 输出中确定:
- **已链接**:站点已连接到 Netlify(显示站点名称/URL)
- **未链接**:需要链接或创建站点
### 3. 链接到现有站点或创建新站点
**如果已链接** → 跳至步骤 4
**如果未链接**,尝试通过 Git 远程仓库链接:
bash
# 检查项目是否基于 Git
git remote show origin
# 如果基于 Git,提取远程 URL
# 格式:https://github.com/username/repo 或
[email protected]:username/re