mcpField
W
web-publish

web-publish

github.com/nikolay-shirokovクラウド・DevOps74152 回インストール今日更新
リポジトリ

web-publish について

web-publish は、Apache HTTP Server を介して 1C 情報ベースを公開するスキルです。公開ファイルと Apache を設定し、再実行時には既存の公開設定を更新します。

主な機能

  1. 01default.vrd の生成
  2. 02httpd.conf の設定
  3. 03Apache HTTP Server の起動
  4. 04ファイル型またはサーバー型データベースの公開
  5. 05公開名とポートの指定

活用シーン

  1. 011C データベースの Web 公開
  2. 02別ユーザーでデータベースを再公開
  3. 03アクセス権テスト用の並行公開

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/nikolay-shirokov/cc-1c-skills --skill web-publish

インストール後、Claude Code で/web-publishを入力して読み込まれたか確認します。

同梱ファイルscripts/web-publish.ps1scripts/web-publish.py

README(原文)English

プロジェクトの README より

この README の日本語訳はまだありません。以下は英語の原文です。日本語の紹介はページ上部をご覧ください。

/web-publish — Публикация 1С через Apache

Генерирует default.vrd, настраивает httpd.conf и запускает Apache HTTP Server для веб-доступа к информационной базе. При необходимости скачивает portable Apache. Идемпотентный — повторный вызов обновляет конфигурацию.

Usage

/web-publish [database]
/web-publish dev
/web-publish dev --manual
/web-publish dev --port 9090

Параметры подключения

Прочитай .v8-project.json из корня проекта и разреши базу:

  1. Если пользователь указал параметры подключения (путь, сервер) — используй напрямую
  2. Если указал базу по имени — ищи по id / alias / name в .v8-project.json
  3. Если не указал — сопоставь текущую ветку Git с databases[].branches
  4. Если ветка не совпала — используй default

ОБЯЗАТЕЛЬНО передавай все найденные параметры:

  • -V8Path — v8path найденной записи базы, иначе корневой v8path. Не задан ни там, ни там — не передавай, но версия платформы тогда выберется автоматически и может оказаться не той
  • -UserName — из поля user найденной записи базы (если есть)
  • -Password — из поля password найденной записи базы (если есть)
  • -ApachePath — из webPath в .v8-project.json (если есть)

Если файла .v8-project.json нет — предложи /db-list add.

Команда

powershell.exe -NoProfile -File "${CLAUDE_SKILL_DIR}/scripts/web-publish.ps1" <параметры>
Параметры скрипта
ПараметрОбязательныйОписание
-V8Path <путь>нетКаталог bin платформы (для wsap24.dll)
-InfoBasePath <путь>*Файловая база
-InfoBaseServer <сервер>*Сервер 1С (для серверной базы)
-InfoBaseRef <имя>*Имя базы на сервере
-UserName <имя>нетИмя пользователя
-Password <пароль>нетПароль
-AppName <имя>нетИмя публикации (по умолчанию из имени каталога базы)
-ApachePath <путь>нетКорень Apache (по умолчанию tools/apache24)
-Port <порт>нетПорт (по умолчанию 8081)
-ManualнетНе скачивать — только проверить и дать инструкцию

* — нужен либо -InfoBasePath, либо пара -InfoBaseServer + -InfoBaseRef

Несколько пользователей одной базы

Повторный вызов с тем же AppName заменяет публикацию (идемпотентность). Это используется для:

  • смены пользователя: «опубликуй под Ивановым» → тот же AppName, новый -UserName
  • перезапуска после /web-stop: тот же вызов поднимает Apache обратно

Если пользователь просит параллельную публикацию под другим пользователем (для тестирования разных наборов прав), добавь суффикс к AppName:

  • база bpdemo, пользователь Иванов → -AppName bpdemo-ivanov
  • база bpdemo, пользователь Admin → -AppName bpdemo-admin (или просто bpdemo)

Ключевые слова: «ещё одну публикацию», «дополнительно», «параллельно», «под другим пользователем не убирая текущую».

После выполнения

  1. Сообщи URL-ы:
    • Веб-клиент: http://localhost:{Port}/{AppName}
    • OData: http://localhost:{Port}/{AppName}/odata/standard.odata
    • HTTP-сервисы: http://localhost:{Port}/{AppName}/hs/<RootUrl>/...
    • Web-сервисы: http://localhost:{Port}/{AppName}/ws/<Имя>?wsdl
  2. Предложи открыть в браузере
  3. Если нужно протестировать сервис — помоги составить запрос
  4. Если база не зарегистрирована — предложи /db-list add

Сервисы расширений публикуются наравне с сервисами конфигурации. Если сервис расширения всё же отдаёт 404 (HTTP) или 500 «Сервис не найден» (SOAP) — расширение не применено к базе данных: /db-update -Extension <имя>.

Примеры

# Файловая база
powershell.exe -NoProfile -File "${CLAUDE_SKILL_DIR}/scripts/web-publish.ps1" -InfoBasePath "C:\Bases\MyDB" -UserName "Admin"

# С явным именем публикации и портом
powershell.exe -NoProfile -File "${CLAUDE_SKILL_DIR}/scripts/web-publish.ps1" -InfoBasePath "C:\Bases\MyDB" -AppName "mydb" -Port 9090

# Серверная база
powershell.exe -NoProfile -File "${CLAUDE_SKILL_DIR}/scripts/web-publish.ps1" -InfoBaseServer "srv01" -InfoBaseRef "MyDB" -UserName "Admin" -Password "secret"

# Ручной режим (только инструкция)
powershell.exe -NoProfile -File "${CLAUDE_SKILL_DIR}/scripts/web-publish.ps1" -InfoBasePath "C:\Bases\MyDB" -Manual

コメント