Развёртывание сайта в Netlify
Публикует веб-проект в Netlify через Netlify CLI: проверяет вход, привязывает сайт, делает предварительное или боевое развёртывание.
- Что делает
- Публикует веб-проект в Netlify через Netlify CLI: проверяет вход, привязывает сайт, делает предварительное или боевое развёртывание.
- Когда брать
- Когда нужно развернуть, разместить или привязать сайт либо репозиторий в Netlify.
- Когда не брать
- Если проект размещается не в Netlify.
- Пример запроса
- Выложи мой сайт в Netlify сначала в предварительную версию для проверки.
- Нужно подключить
- терминал, аккаунт Netlify, репозиторий с кодом
- Работает лучше с
- Node.js и npm
Как включить
- Скачайте архив и распакуйте его.
- Положите папку
netlify-deployв~/.agents/skills/. - Вызовите скилл командой
$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:
- Проверь статус авторизации командой
npx netlify status - Если авторизации нет, проведи пользователя через
npx netlify login - Если авторизоваться не удаётся, корректно остановись с понятной ошибкой
Авторизация проходит одним из способов:
- 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
Это проведёт пользователя через:
- Выбор команды или аккаунта
- Задание названия сайта
- Настройку параметров сборки
- Создание 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.
Процесс развёртывания:
- CLI определяет параметры сборки (из netlify.toml или запрашивает у пользователя)
- Собирает проект локально
- Загружает собранные файлы в Netlify
- Возвращает 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 нужен повышенный сетевой доступ. Я могу перезапустить команду с повышенными правами — продолжить?
Переменные окружения
Для секретов и конфигурации:
- Никогда не фиксируй секреты в Git
- Задавай их на панели Netlify: Site Settings → Environment Variables
- Обращайся к ним при сборке через
process.env.VARIABLE_NAME
Советы
- Сначала используй
netlify deploy(без--prod), чтобы проверить до боевого развёртывания - Выполни
netlify open, чтобы открыть сайт на панели Netlify - Выполни
netlify logs, чтобы посмотреть логи функций (если используются Netlify Functions) - Используй
netlify devдля локальной разработки с Netlify Functions
Справочные материалы
- Документация Netlify CLI: https://docs.netlify.com/cli/get-started/
- Справочник по netlify.toml: https://docs.netlify.com/configure-builds/file-based-configuration/
Входящие в комплект справочники (загружай по необходимости)
- [Команды 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.