Рекомендації: натисніть репортаж GitHub до серверів плагінів wordpress


21

Я розробляю свій плагін на github, але коли справа доходить до розгортання, я мушу якось скопіювати свої зміни у Wordpress SVN . В даний час я це роблю вручну і копіюю над кожним файлом у кожному каталозі окремо, але це забирає багато часу та схильність до помилок.

Я бачив і спробував кілька сценаріїв, але думаю, що я повинен запускати їх неправильно, оскільки вони або помиляються, або не копіюють файли правильно.

Тож моє запитання: чи хтось досягав цього автоматично, і якщо так, як це ви зробили?

Спасибі!


Хоча я думаю, що це цікаве і корисне питання, воно також виходить за межі, оскільки мова йде про взаємодію Git і Subversion, і немає нічого конкретного в WordPress. Мені потрібно подумати, які найкращі дії тут будуть ...
Рарст,

У мене почалося питання щодо мета, щоб обговорити цю справу.
Рарст

@Rarst дякую за це, вибачте за те, що не поставили питання
studioromeo

Відповіді:


1

дивіться цей підручник від колеги моєї команди: http://www.farbeyondprogramming.com/2011/09/81-how-to-deploy-a-wordpress-plugin-with-git-svn

але він не використовує рішення, його легше працювати окремо :(


Дякуємо @bueltge. Так я маю рацію, думаючи, що він повернувся до ручного методу?
studioromeo

4
Для любові до всього святого, не дотримуйтесь інструкцій на цьому сайті. Якщо ви раптом зробите сотні зобов’язань нашому SVN, я особисто змушу свою життєву мету знайти вас і побити вас палицею. А може просто заборонити вас на WordPress.org. ;) Будь ласка, введіть лише остаточну версію, а не кожну із змін, які ви зробили. Ми цінуємо вашу історію, але лише значущу історію. Проблема з git полягає в тому, що люди здійснюють безліч непотрібних лайнів, і нам взагалі не потрібно знати ці речі.
Отто

@Otto Lol! Ні, я просто хочу мати можливість розгорнути свої зміни до репортажу SVN. В даний час зробіть це вручну, перезаписуючи файли в моїй перевіреній svn repo, але це нудно і схильність до помилок. Чи є у вас якісь пропозиції?
studioromeo

3
Якщо зробити інтерактивну базу змін ваших змін у Git, ви зможете об'єднати їх у єдиний SVN-комітет. Більше інформації про те, як це зробити, тут: stackoverflow.com/questions/158514/…
Отто,

1
@Otto " Я б не знав, чесно кажучи, я не використовую Git. Мені це дратує ", можна відповісти ще однією цитатою (прямо від вас) " Я особисто зроблю це своєю життєвою метою знайти вас і побити вас паличкою ":)
кайзер

1

Прочитавши ці відповіді, я пересунув один із своїх плагінів до GitHub і написав сценарій release.sh . Цей скрипт отримує часткове оформлення мого плагіна з plugins.svn.wordpress.org за допомогою --depth immediatesта оновлює файли в trunk/та assets/. Це повинно спростити періодичне натискання на svn, використовуючи сховище wordpress.org для тегування випусків, а не збереження історії розробки:

./release.sh
svn cp trunk tags/0.6
svn ci "Sending 0.6 from https://github.com/foo/bar to wordpress.org"

Більш загальна версія може працювати з більш широким розмаїттям плагінів, обробляти видалені файли та автоматично оновлювати теги svn на основі тегів git.


1

Див. Як опублікувати плагін WordPress - Git від @EAMann для детального опису.


Якщо ви збираєтеся робити подібні речі, будь ласка, зробіть інтерактивну базу даних, а потім змініть всі комітети, які потрібно видавити, щоб ви не зробили десятки невеликих комітетів на SVN-сервери. Більше інформації про те, як це зробити, тут: stackoverflow.com/questions/158514/…
Отто,

5
@Otto Хоча я цілком розумію ваше бажання зменшити навантаження сервера :) Я дійсно, дуже люблю атомні зобов’язання, якщо мені доведеться налагоджувати код інших людей. Гм ... автоматичне посилання на загальнодоступний сховище Git з повною історією фіксування може бути корисним доповненням для каталогу плагінів.
fuxia

3
Я маю згоду з @Otto щодо цього. SVN WordPress.org дійсно повинен бути сховищем випусків, а не сховищем розробки.
MikeSchinkel

1

Питання було старим, але тепер рішення доступне з діями GitHub. Нещодавно GitHub додав Github Actions автоматизований робочий процес для сховища GitHub.

І добре відома компанія 10up створила "Дію розгортання плагіну WordPress".

Це дуже просто налаштувати. І як стверджує @otto, нам не потрібно натискати кожну зміну на svn, щоб ми могли встановити автоматизацію, створюючи новий тег на github.

Отже, наш плагін github автоматично надсилає код у сховище WordPress, коли ми створюємо новий тег випуску.

Корисні посилання:


0

Я не роблю це автоматично, але це досить просто:

Перевірити SVN Truck і Git master в одному каталозі. Використовуйте Git майже для всього, як це можна зробити з будь-яким проектом, призначеним лише для Git.

Встановіть, stable tagщоб бути trunk, а тоді, коли будете готові зробити випуск, позначте його в Git та негайно натисніть на магістраль. Не хвилюйтесь про перехід на SVN /tags, оскільки історія випуску безпечна у Git (та Github).

Ось про це.

Щоб очистити його, я додаю .svnдо .gitignore, і .gittests/ , phpunit.xmlі т. Д.), Щоб ігнорувати SVN.

Сценарій release.sh насправді буде не чим іншим (як тільки номер версії в коді буде оновлений, і всі зобов'язані з Git):

git tag $1
svn ci -m"Release: $1"
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.