Верх страницы
Обложка к записи Bash-скрипт для деплоя проекта с GitHub на WordPress.org
Время для прочтения: 0 мин. 12 сек.

Bash-скрипт для деплоя проекта с GitHub на WordPress.org

Если ваш плагин или тема хостится на GitHub, то их деплой на сервера WordPress.org становится нетривиальной задачей. Предлагаю вашему вниманию bash-скрипт для автоматического деплоя проекта GitHub → SVN.

Что этот скрипт умеет

Полная синхронизация удаленных репозиториев между Git на SVN, поддержка тегов, веток и коммитов. Для использования скрипта нужно:

  1. Захостить ваш проект на GitHub
  2. Получить персональный токен
  3. Иметь настроенный SVN-репозиторий на WordPress.org для плагина
  4. Должны быть локально установленны Git и SVN, доступные из командной строки.

С чего начать

  1. Качните скрипт release.sh из репозитория и поместите в любую папку вашего компьютера
  2. Откройте скрипт и отредактируйте переменную GITHUB_ACCESS_TOKEN, вписав ваш токен
  3. В переменную PLUGIN_SLUG впишите слаг вашего плагина на WordPress.org
  4. В переменную GITHUB_REPO_OWNER впишите ваш логин на GitHub
  5. В переменную GITHUB_REPO_NAME впишите имя вашего GitHub репозитория
  6. Сохраните полученный файл.

Теперь скрипт готов к запуску.

Использование

  1. Откройте терминал и перейдите в папку со скриптом
  2. Выполните sh release.sh
  3. Следуйте указаниям программы

Демо

На скринкасте вы можете увидеть процесс запуска скрипта из терминала.

github-wordpress-demo

Примечания

  • Скрипт делает чекаут удалённой версии вашего GitHub репозитория
  • Коммиты на WordPress.org могут идти очень долго, так что наберитесь терпения
  • Скрипт тестировался только под маком
  • Используйте на свой страх и риск.
  • Любителям grunt могу посоветовать grunt-wp-deploy

Возможные проблемы

Если после ввода тега релиза вы получаете ошибку read: arg count, попробуйте в файле release.sh заменить первую строку #!/bin/sh на #!/bin/bash. Пруф.

Автор: Кобзарёв Михаил

Русский разработчик с 20-ти летним стажем. Работаю с PHP, ООП, JavaScript, Git, WordPress, Битрикс, Joomla, Drupal, Opencart, DLE, Laravel, Moonshine, SuiteCRM.

Оптимизирую сайты под Google Page Speed, настраиваю импорты для больших магазинов на WooCommerce + WP All Import. Пишу плагины на заказ. Все мои услуги.

Веду блог о разработке, дайджест в телеграмме и в ВК.

Вы всегда можете нанять меня.

Комментарии
Подписаться
Уведомить о
guest

0 комментариев
Межтекстовые Отзывы
Посмотреть все комментарии
Предыдущая запись

Давайте дружить
в Телеграме

Авторский блог вашего покорного слуги в Telegram про web, программирование, алгоритмы, инструменты разработчика, WordPress, Joomla, Opencart, Laravel, Moonshine, фильмы и сериалы