Я разрабатываю свой плагин на github, но когда дело доходит до развертывания, я должен каким-то образом скопировать свои изменения в Wordpress SVN . В настоящее время я делаю это вручную и копирую каждый файл в каждом каталоге отдельно, но это отнимает много времени и подвержено ошибкам.
Я видел и пробовал несколько сценариев, но я думаю, что я должен запускать их неправильно, так как они либо ошибаются, либо неправильно копируют файлы.
Поэтому мой вопрос: кто-нибудь достиг этого автоматически, и если да, то как ты это сделал?
Благодарность!
Ответы:
см. это руководство от сотрудника моей команды: http://www.farbeyondprogramming.com/2011/09/81-how-to-deploy-a-wordpress-plugin-with-git-svn
но он не использует решение, его легче работать отдельно :(
источник
Прочитав эти ответы, я вставил один из своих плагинов в GitHub и написал скрипт release.sh . Этот скрипт получает частичную проверку моего плагина с помощью plugins.svn.wordpress.org
--depth immediates
и обновляет файлы вtrunk/
иassets/
. Это должно упростить периодическую отправку в svn, используя репозиторий wordpress.org для маркировки релизов, а не для поддержки истории разработки:Более общая версия может работать с более широким набором плагинов, обрабатывать удаленные файлы и автоматически обновлять теги svn на основе тегов git.
источник
См. Как опубликовать плагин WordPress - Git от @EAMann для подробного описания.
источник
Вопрос был старый, но теперь решение доступно с помощью действий GitHub. Недавно GitHub добавил Github Actions автоматизированный рабочий процесс для репозитория GitHub.
И известная компания 10up создала «Action WordPress Plugin Deploy».
Это очень легко настроить. И, как говорит @otto, нам не нужно помещать каждое изменение в svn, поэтому мы можем настроить автоматизацию при создании нового тега на github.
Итак, наш плагин github автоматически отправляет код в репозиторий WordPress, когда мы создаем новый тег выпуска.
Полезные ссылки:
источник
Я не делаю это автоматически, но это довольно просто:
Проверьте SVN truck и Git master в одном и том же каталоге. Используйте Git практически для всего, как это было бы с любым Git-проектом.
Установите значение «
stable tag
быть»trunk
, а затем, когда будете готовы выпустить релиз, отметьте его в Git и сразу же отправьте в транк. Не беспокойтесь о переходе в SVN/tags
, так как ваша история релизов безопасна в Git (и Github).Вот и все.
Для того, чтобы очистить его, добавить
.svn
к.gitignore
и.git
(иtests/
,phpunit.xml
и т.д.) , которые будут игнорироваться SVN.Сценарий release.sh действительно был бы не чем иным, как следующим (после того, как номер версии в коде был обновлен и все переданы в Git):
источник