iiuniversitet.ruЦентр обучения нейросетямОткрыть каталог

Развёртывание сайта в Netlify

Публикует веб-проект в Netlify через Netlify CLI: проверяет вход, привязывает сайт, делает предварительное или боевое развёртывание.

СкиллOpenAICodexApache-2.0Нужен терминалПроверка не требуется
Что делает
Публикует веб-проект в Netlify через Netlify CLI: проверяет вход, привязывает сайт, делает предварительное или боевое развёртывание.
Когда брать
Когда нужно развернуть, разместить или привязать сайт либо репозиторий в Netlify.
Когда не брать
Если проект размещается не в Netlify.
Пример запроса
Выложи мой сайт в Netlify сначала в предварительную версию для проверки.
Нужно подключить
терминал, аккаунт Netlify, репозиторий с кодом
Работает лучше с
Node.js и npm

Как включить

  1. Скачайте архив и распакуйте его.
  2. Положите папку netlify-deploy в ~/.agents/skills/.
  3. Вызовите скилл командой $netlify-deploy или найдите его через /skills.

Текст

---
name: netlify-deploy
description: Развёртывай веб-проекты в Netlify с помощью Netlify CLI (`npx netlify`). Используй, когда пользователь просит развернуть, разместить, опубликовать или привязать сайт или репозиторий в Netlify, включая предварительные и боевые развёртывания.
---

Скилл развёртывания в Netlify

Развёртывай веб-проекты в Netlify с помощью Netlify CLI, умно определяя конфигурацию проекта и контекст развёртывания.

Обзор

Этот скилл автоматизирует развёртывание в Netlify, выполняя следующее:

  • Проверяет авторизацию в Netlify CLI
  • Определяет конфигурацию проекта и фреймворк
  • Привязывает проект к существующим сайтам или создаёт новые
  • Развёртывает в боевую или предварительную среду

Предварительные условия

  • Netlify CLI: запускается через npx (глобальная установка не нужна)
  • Авторизация: аккаунт Netlify с активным сеансом входа
  • Проект: корректный веб-проект в текущей директории
  • Если песочница блокирует сетевые вызовы развёртывания, перезапусти команду с 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:

npx netlify status

Ожидаемые варианты вывода:

  • ✅ Авторизован: показывает email вошедшего пользователя и статус привязки сайта
  • ❌ Не авторизован: «Not logged into any site» или ошибка авторизации

Если авторизации нет, подскажи пользователю:

npx netlify login

Откроется окно браузера для авторизации через OAuth. Дождись, пока пользователь завершит вход, затем снова проверь командой netlify status.

Запасной вариант: авторизация по ключу API

Если авторизация через браузер недоступна, пользователь может задать:

export NETLIFY_AUTH_TOKEN=your_token_here

Токены можно создать по адресу: https://app.netlify.com/user/applications#personal-access-tokens

2. Определи статус привязки сайта

По выводу netlify status определи:

  • Привязан: сайт уже подключён к Netlify (показаны имя или URL сайта)
  • Не привязан: нужно привязать или создать сайт

3. Привяжи к существующему сайту или создай новый

Если уже привязан → переходи к шагу 4

Если не привязан, попробуй привязать по удалённому репозиторию Git:

# Check if project is Git-based
git remote show origin

# If Git-based, extract remote URL
# Format: https://github.com/username/repo or git@github.com:username/repo.git

# Try to link by Git remote
npx netlify link --git-remote-url <REMOTE_URL>

Если привязка не удалась (сайта нет в Netlify):

# Create new site interactively
npx netlify init

Это проведёт пользователя через:

  1. Выбор команды или аккаунта
  2. Задание названия сайта
  3. Настройку параметров сборки
  4. Создание netlify.toml при необходимости

4. Проверь зависимости

Перед развёртыванием убедись, что зависимости проекта установлены:

# For npm projects
npm install

# For other package managers, detect and use appropriate command
# yarn install, pnpm install, etc.

5. Разверни в Netlify

Выбери тип развёртывания по контексту:

Предварительное развёртывание / черновик (по умолчанию для существующих сайтов):

npx netlify deploy

Это создаёт предварительную версию (deploy preview) с уникальным URL для проверки.

Боевое развёртывание (для новых сайтов или при явной просьбе о боевом развёртывании):

npx netlify deploy --prod

Это публикует сайт по боевому URL.

Процесс развёртывания:

  1. CLI определяет параметры сборки (из netlify.toml или запрашивает у пользователя)
  2. Собирает проект локально
  3. Загружает собранные файлы в Netlify
  4. Возвращает URL развёртывания

6. Сообщи результаты

После развёртывания сообщи пользователю:

  • URL развёртывания: уникальный URL этого развёртывания
  • URL сайта: боевой URL (при боевом развёртывании)
  • Логи развёртывания: ссылка на панель Netlify с логами
  • Дальнейшие шаги: предложи netlify open, чтобы открыть сайт или панель

Работа с netlify.toml

Если файл netlify.toml существует, CLI использует его автоматически. Если нет, CLI запросит:

  • Команду сборки: например, npm run build, next build
  • Директорию публикации: например, dist, build, .next

Типичные значения по умолчанию для фреймворков:

  • Next.js: команда сборки npm run build, публикация .next
  • React (Vite): команда сборки npm run build, публикация dist
  • Статический HTML: без команды сборки, публикация текущей директории

Скилл по возможности должен определять фреймворк по package.json и предлагать подходящие настройки.

Пример полного рабочего процесса

# 1. Check authentication
npx netlify status

# If not authenticated:
npx netlify login

# 2. Link site (if needed)
# Try Git-based linking first
git remote show origin
npx netlify link --git-remote-url https://github.com/user/repo

# If no site exists, create new one:
npx netlify init

# 3. Install dependencies
npm install

# 4. Deploy (preview for testing)
npx netlify deploy

# 5. Deploy to production (when ready)
npx netlify deploy --prod

Обработка ошибок

Частые проблемы и решения:

«Not logged in» → Выполни npx netlify login

«No site linked» → Выполни npx netlify link или npx netlify init

«Build failed» → Проверь команду сборки и директорию публикации в netlify.toml или в запросах CLI → Убедись, что зависимости установлены → Просмотри логи сборки в поисках конкретных ошибок

«Publish directory not found» → Убедись, что команда сборки выполнилась успешно → Проверь, что путь к директории публикации указан верно

Устранение неполадок

Повышенный сетевой доступ

Если развёртывание не удаётся из-за проблем с сетью (тайм-ауты, ошибки DNS, сброс соединений), перезапусти развёртывание с повышенными правами (используй sandbox_permissions=require_escalated). Развёртыванию нужен повышенный сетевой доступ, когда сеть песочницы блокирует исходящие запросы.

Пример подсказки для пользователя:

Для развёртывания в Netlify нужен повышенный сетевой доступ. Я могу перезапустить команду с повышенными правами — продолжить?

Переменные окружения

Для секретов и конфигурации:

  1. Никогда не фиксируй секреты в Git
  2. Задавай их на панели Netlify: Site Settings → Environment Variables
  3. Обращайся к ним при сборке через process.env.VARIABLE_NAME

Советы

  • Сначала используй netlify deploy (без --prod), чтобы проверить до боевого развёртывания
  • Выполни netlify open, чтобы открыть сайт на панели Netlify
  • Выполни netlify logs, чтобы посмотреть логи функций (если используются Netlify Functions)
  • Используй netlify dev для локальной разработки с Netlify Functions

Справочные материалы

Входящие в комплект справочники (загружай по необходимости)

  • [Команды CLI](references/cli-commands.md)
  • [Схемы развёртывания](references/deployment-patterns.md)
  • [Руководство по netlify.toml](references/netlify-toml.md)

Перевод: iiuniversitet. Оригинал: https://github.com/openai/skills/tree/main/skills/.curated/netlify-deploy, лицензия Apache-2.0. Изменения: перевод на русский язык.

Оригинал на английском
---
name: netlify-deploy
description: Deploy web projects to Netlify using the Netlify CLI (`npx netlify`). Use when the user asks to deploy, host, publish, or link a site/repo on Netlify, including preview and production deploys.
---

# Netlify Deployment Skill

Deploy web projects to Netlify using the Netlify CLI with intelligent detection of project configuration and deployment context.

## Overview

This skill automates Netlify deployments by:
- Verifying Netlify CLI authentication
- Detecting project configuration and framework
- Linking to existing sites or creating new ones
- Deploying to production or preview environments

## Prerequisites

- **Netlify CLI**: Installed via npx (no global install required)
- **Authentication**: Netlify account with active login session
- **Project**: Valid web project in current directory
- When sandboxing blocks the deployment network calls, rerun with `sandbox_permissions=require_escalated`.
- The deployment might take a few minutes. Use appropriate timeout values.

## Authentication Pattern

The skill uses the **pre-authenticated Netlify CLI** approach:

1. Check authentication status with `npx netlify status`
2. If not authenticated, guide user through `npx netlify login`
3. Fail gracefully if authentication cannot be established

Authentication uses either:
- **Browser-based OAuth** (primary): `netlify login` opens browser for authentication
- **API Key** (alternative): Set `NETLIFY_AUTH_TOKEN` environment variable

## Workflow

### 1. Verify Netlify CLI Authentication

Check if the user is logged into Netlify:

```bash
npx netlify status
```

**Expected output patterns**:
- ✅ Authenticated: Shows logged-in user email and site link status
- ❌ Not authenticated: "Not logged into any site" or authentication error

**If not authenticated**, guide the user:

```bash
npx netlify login
```

This opens a browser window for OAuth authentication. Wait for user to complete login, then verify with `netlify status` again.

**Alternative: API Key authentication**

If browser authentication isn't available, users can set:

```bash
export NETLIFY_AUTH_TOKEN=your_token_here
```

Tokens can be generated at: https://app.netlify.com/user/applications#personal-access-tokens

### 2. Detect Site Link Status

From `netlify status` output, determine:
- **Linked**: Site already connected to Netlify (shows site name/URL)
- **Not linked**: Need to link or create site

### 3. Link to Existing Site or Create New

**If already linked** → Skip to step 4

**If not linked**, attempt to link by Git remote:

```bash
# Check if project is Git-based
git remote show origin

# If Git-based, extract remote URL
# Format: https://github.com/username/repo or git@github.com:username/repo.git

# Try to link by Git remote
npx netlify link --git-remote-url <REMOTE_URL>
```

**If link fails** (site doesn't exist on Netlify):

```bash
# Create new site interactively
npx netlify init
```

This guides user through:
1. Choosing team/account
2. Setting site name
3. Configuring build settings
4. Creating netlify.toml if needed

### 4. Verify Dependencies

Before deploying, ensure project dependencies are installed:

```bash
# For npm projects
npm install

# For other package managers, detect and use appropriate command
# yarn install, pnpm install, etc.
```

### 5. Deploy to Netlify

Choose deployment type based on context:

**Preview/Draft Deploy** (default for existing sites):

```bash
npx netlify deploy
```

This creates a deploy preview with a unique URL for testing.

**Production Deploy** (for new sites or explicit production deployments):

```bash
npx netlify deploy --prod
```

This deploys to the live production URL.

**Deployment process**:
1. CLI detects build settings (from netlify.toml or prompts user)
2. Builds the project locally
3. Uploads built assets to Netlify
4. Returns deployment URL

### 6. Report Results

After deployment, report to user:
- **Deploy URL**: Unique URL for this deployment
- **Site URL**: Production URL (if production deploy)
- **Deploy logs**: Link to Netlify dashboard for logs
- **Next steps**: Suggest `netlify open` to view site or dashboard

## Handling netlify.toml

If a `netlify.toml` file exists, the CLI uses it automatically. If not, the CLI will prompt for:
- **Build command**: e.g., `npm run build`, `next build`
- **Publish directory**: e.g., `dist`, `build`, `.next`

Common framework defaults:
- **Next.js**: build command `npm run build`, publish `.next`
- **React (Vite)**: build command `npm run build`, publish `dist`
- **Static HTML**: no build command, publish current directory

The skill should detect framework from `package.json` if possible and suggest appropriate settings.

## Example Full Workflow

```bash
# 1. Check authentication
npx netlify status

# If not authenticated:
npx netlify login

# 2. Link site (if needed)
# Try Git-based linking first
git remote show origin
npx netlify link --git-remote-url https://github.com/user/repo

# If no site exists, create new one:
npx netlify init

# 3. Install dependencies
npm install

# 4. Deploy (preview for testing)
npx netlify deploy

# 5. Deploy to production (when ready)
npx netlify deploy --prod
```

## Error Handling

Common issues and solutions:

**"Not logged in"**
→ Run `npx netlify login`

**"No site linked"**
→ Run `npx netlify link` or `npx netlify init`

**"Build failed"**
→ Check build command and publish directory in netlify.toml or CLI prompts
→ Verify dependencies are installed
→ Review build logs for specific errors

**"Publish directory not found"**
→ Verify build command ran successfully
→ Check publish directory path is correct

## Troubleshooting

### Escalated Network Access

If deployment fails due to network issues (timeouts, DNS errors, connection resets), rerun the deploy with escalated permissions (use `sandbox_permissions=require_escalated`). The deploy requires escalated network access when sandbox networking blocks outbound requests.

Example guidance to the user:

```
The deploy needs escalated network access to deploy to Netlify. I can rerun the command with escalated permissions—want me to proceed?
```

## Environment Variables

For secrets and configuration:

1. Never commit secrets to Git
2. Set in Netlify dashboard: Site Settings → Environment Variables
3. Access in builds via `process.env.VARIABLE_NAME`

## Tips

- Use `netlify deploy` (no `--prod`) first to test before production
- Run `netlify open` to view site in Netlify dashboard
- Run `netlify logs` to view function logs (if using Netlify Functions)
- Use `netlify dev` for local development with Netlify Functions

## Reference

- Netlify CLI Docs: https://docs.netlify.com/cli/get-started/
- netlify.toml Reference: https://docs.netlify.com/configure-builds/file-based-configuration/

## Bundled References (Load As Needed)

- [CLI commands](references/cli-commands.md)
- [Deployment patterns](references/deployment-patterns.md)
- [netlify.toml guide](references/netlify-toml.md)

Источник: openai/skills / netlify-deploy ↗. Ссылка проверена 2026-10-10.