Публикация плагина в репозиторий WordPress из GitHub - Компьюти
Logo КОМПЬЮТИ

Публикация плагина в репозиторий WordPress из GitHub

Время на прочтение: 2 мин.

Разработка плагинов для WordPress — увлекательный процесс, но публикация в официальном репозитории часто вызывает вопросы у начинающих разработчиков. В этой статье я расскажу, как настроить автоматическую публикацию плагина из GitHub в WordPress.org репозиторий — процесс, который сэкономит вам часы ручной работы.

Почему автоматизация публикации важна?

Ручная публикация плагина в WordPress.org требует:

  • Копирования файлов через SVN
  • Обновления версии в нескольких местах
  • Загрузки ассетов (иконок, баннеров)
  • Создания тегов для каждой версии

Автоматизация через GitHub Actions сокращает этот процесс до одного действия — создания тега в Git.

Подготовка плагина к публикации

1. Структура проекта

Перед началом убедитесь, что ваш плагин имеет правильную структуру:

your-plugin/
├── plugin-main-file.php
├── readme.txt
├── .distignore
├── .wordpress-org/
│   ├── assets/
│   │   ├── icon-128x128.png
│   │   ├── icon-256x256.png
│   │   └── banner-1544x500.png
│   └── ...
├── package.json (опционально)
└── .github/workflows/deploy.yml

2. Ключевые файлы

readme.txt — используйте специальный формат WordPress:

=== Plugin Name ===
Contributors: yourname
Tags: plugin, tags
Requires at least: 5.8
Tested up to: 6.5
Stable tag: 1.0.0

== Description ==
Подробное описание вашего плагина.

== Installation ==
1. Загрузите плагин через WordPress
2. Активируйте в админ-панели

.distignore — файл, определяющий, что НЕ попадет в репозиторий:

.git/
.github/
node_modules/
vendor/
*.log
*.md
composer.*
package.json
webpack.config.js

Настройка автоматической публикации

1. Получение доступа к WordPress.org SVN

  1. Создайте плагин в WordPress.org плагин репозитории
  2. Сгенерируйте Application Password в аккаунте WordPress.org
  3. Сохраните логин и пароль

2. Настройка GitHub Secrets

В настройках вашего репозитория GitHub:

  • SVN_USERNAME — ваш логин WordPress.org
  • SVN_PASSWORD — Application Password

3. Создание workflow файла

Создайте файл .github/workflows/deploy.yml:

name: Deploy to WordPress.org

on:
  push:
    tags:
      - "v*"       # Теги типа v1.0, v2.1.0
      - "[0-9]+.[0-9]+.[0-9]+"  # Теги типа 1.0.0

jobs:
  deploy:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v3
      
      - name: Extract version from tag
        id: get_version
        run: |
          VERSION="${GITHUB_REF#refs/tags/v}"
          echo "version=${VERSION}" >> $GITHUB_OUTPUT
          echo "Deploying version: ${VERSION}"
      
      - name: WordPress Plugin Deploy
        uses: 10up/action-wordpress-plugin-deploy@stable
        env:
          SVN_USERNAME: ${{ secrets.SVN_USERNAME }}
          SVN_PASSWORD: ${{ secrets.SVN_PASSWORD }}
          SLUG: "your-plugin-slug"
          VERSION: ${{ steps.get_version.outputs.version }}

Процесс публикации шаг за шагом

После создания коммита, необходимо создать и опубликовать тег: Code -> Create a new release

image
image

После пуша тега:

  1. GitHub Actions автоматически запускает workflow
  2. Происходит сборка плагина (если нужно)
  3. Файлы копируются в WordPress.org SVN
  4. Создается новая версия в репозитории
  5. Плагин становится доступным для установки

Семантическое версионирование

Используйте SemVer:

  • v1.0.0 — первый стабильный релиз
  • v1.0.1 — патч-релиз (багфиксы)
  • v1.1.0 — минорный релиз (новые функции)
  • v2.0.0 — мажорный релиз (ломкие изменения)

Заключение

Автоматизация публикации плагинов WordPress из GitHub — не просто удобство, а необходимость для профессиональной разработки. Это позволяет:

  1. Сократить время на рутинные операции
  2. Уменьшить ошибки при публикации
  3. Обеспечить консистентность между версиями
  4. Вести историю изменений через Git
  5. Быстро откатывать проблемные релизы

Начальная настройка занимает 30-60 минут, но экономит часы при каждом новом релизе. Начните автоматизировать сегодня — ваши будущие релизы будут благодарны!


Полезные ссылки:


Читайте также:

Приглашаем поучаствовать в обсуждении статьи:

Комментариев 0