Як використовувати модман для управління модулями в github?


12

Я намагаюся використовувати modman( https://github.com/colinmollenhour/modman ) для управління своїми розширеннями в github.

По-перше, я намагаюся додати MagePsycho_Someextрозширення як демо.

Поки я зробив наступні кроки

/var/www/magento-dir/ -> My Magento Installation Dir
/var/www/MagePsycho_Extensions/ --> Git Repository Dir
  1. cd /var/www/MagePsycho_Extensions/
  2. git clone git@github.com:magepsycho/Someext.git
  3. touch modman
  4. git commit -am 'Modman file added'
  5. git push origin master
  6. cd /var/www/magento-dir/
  7. modman init
  8. modman clone git@github.com:magepsycho/Someext.git
  9. Розроблено розширення 'MagePsycho_Someext' в / var / www / magento-dir із наступними файлами
    • app / тощо / модулі / MagePsycho_Someext.xml
    • app / code / local / MagePsycho / Someext / тощо / config.xml
    • app / code / local / MagePsycho / Someext / Helper / Data.php

10 Додано інформацію про відображення файлів у /var/www/magento-dir/.modman/Someext/modman як

app/etc/modules/MagePsycho_Someext.xml  app/etc/modules/MagePsycho_Someext.xml
app/code/local/MagePsycho/Someext/etc/config.xml app/code/local/MagePsycho/Someext/etc/config.xml
app/code/local/MagePsycho/Someext/Helper/Data.php app/code/local/MagePsycho/Someext/Helper/Data.php

11 modman update Someext

але отримали такі помилки:

WARNING: Target does not exist (.modman/Someext/modman):
 app/etc/modules/MagePsycho_Someext.xml  app/etc/modules/MagePsycho_Someext.xml

Примітки : я розробляю розширення в /var/www/magento-dir/. І хочете розгорнути ці розширення (по одному на сховище) в github за допомогою modman. Коли я закінчую розробку модулів, я хочу, щоб ці файли були додані до сховища. Для цього я використав .modman / * / modman файл для картографування. Але не в змозі змусити його працювати.

Де і що я пропускаю?
Або це неправильний підхід?

[EDIT]

Я щойно зрозумів, що мій підхід якраз протилежний. По-перше, ви повинні додати файли розширень та модман із відображенням контурів, натиснути його на репо, а потім витягнути за допомогою modman clone.

Як би ви зробили, якщо спершу розробите розширення, а потім використовуєте модман для натискання змін на репо?


1
Наразі не можна дати вичерпної відповіді, але, як правило, ви не повинні змінювати матеріали в папці .modman. Це хороша відправна точка github.com/colinmollenhour/modman/wiki/Tutorial
Зіфіус

Я не впевнений, де керувати відображеннями. в / var / www / MagePsycho_Extensions / Someext / modman? Якщо так, тоді доведеться підштовхнути зміни до github і витягнути їх за допомогою оновлення modman?
MagePsycho

Я не розумію, чому ви посилаєтесь на розширення безпосередньо, якщо це репо, ви можете завантажити його безпосередньо звідти.
Аллан Макгрегор

Усередині кореневого репорта розширення має бути файл модмена з визначеними відображеннями.
Аллан Макгрегор

Зачекайте, чи намагаєтесь ви витягнути розширення з / var / www / magento-dir / в окрему репо?
Аллан Макгрегор

Відповіді:


7

Нарешті я з’ясував спосіб управління модулями Magento за допомогою modman (не ідеальний спосіб, але це працює для мене)

Припущення

/var/www/magento-dir/ -> My Magento Installation Dir
/var/www/MagePsycho_Extensions/ --> Git Repo Dir
  1. cd /var/www/MagePsycho_Extensions/
  2. git clone git@github.com:magepsycho/Someext.git
  3. touch modman
  4. git commit -am 'Modman file added'
  5. git push origin master
  6. cd /var/www/magento-dir/
  7. modman init
  8. modman link /var/www/MagePsycho_Extensions/Someext
  9. Тепер розробіть розширення 'MagePsycho_Someext' у /var/www/magento-dir/.modman/Someext із наступними файлами
    • app / тощо / модулі / MagePsycho_Someext.xml
    • app / code / local / MagePsycho / Someext / тощо / config.xml
    • app / code / local / MagePsycho / Someext / Helper / Data.php

10 Додайте інформацію про відображення файлів у /var/www/magento-dir/.modman/Someext/modman як

app/etc/modules/MagePsycho_Someext.xml  app/etc/modules/MagePsycho_Someext.xml
app/code/local/MagePsycho/Someext/etc/config.xml app/code/local/MagePsycho/Someext/etc/config.xml
app/code/local/MagePsycho/Someext/Helper/Data.php app/code/local/MagePsycho/Someext/Helper/Data.php

11 modman repair
12 cd /var/www/magento-dir/.modman/Someext
13 git add app/etc/modules/MagePsycho_Someext.xml app/code/local/MagePsycho/Someext/etc/config.xml app/code/local/MagePsycho/Someext/Helper/Data.php
14 git commit -m 'Extension files updated.'
15 git push origin master
16 Це все.

Підсумовуючи це, ви будете працювати над каталогом magento-dir / .modman / Someext, який посилається на magento-dir. Кожного разу, коли ви додаєте нові файли до свого розширення, вам доведеться оновлювати файл modman та запускати його, modman repairщо підтримує оновлення символьних посилань.

Якщо хтось має кращий підхід, будь ласка, поділіться.


6

Тому моя порада тут полягає в тому, що у вас все одно є локальна копія розширення, тоді використовуйте команди linkта deployкоманди, а неclone

У вашому випадку ви просто подзвоните:

  1. modman init
  2. modman link ../Your_Extension_Path (якщо це одне розширення)
  3. modman deploy Your_Extension_Path

Цей метод потребує того, щоб у вашому розширенні каталогу було заповнено файл модмана із відображенням файлів, але, з ваших коментарів, це ви вже маєте.

Наскільки я розумію, файли спочатку повинні бути у dir-файлі розширення, потім вони будуть зв'язані у dir magento, а потім, коли ви робите майбутні зміни до файлів під magento, файли розширень також змінюються. Можливо, є спосіб створити розширення модмана з каталогу magento, але, на жаль, я цього не знаю.

Простий спосіб копіювання файлів від Magento до розширення dir - це відкриття двох дослідників вікон для вікон та копіювання їх поперек, або використання чогось на зразок команди опівночі

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


/ var / www / MagePsycho_Extensions / матиме більше розширень, скажімо: Extension1, Extension2 з різними сховищами. Чи зміниться це, використовуючи ваш підхід?
MagePsycho

не впевнений, але я думаю, що вам просто знадобляться два рівні для того, щоб зв’язати, ../MagePsycho_extenstion/Extension1а потім розгорнути це було б, MagePsycho_extenstion/Extension1або Extension1я не впевнений, не намагаючись це випробувати.
Девід Маннерс

Після дотримання вашого посилання та розгортання, дає таку саму помилку ПОПЕРЕДЖЕННЯ: Ціль не існує (.modman / MagePsycho_Someext / modman): додаток / тощо / модулі / MagePsycho_Someext.xml app / etc / module / MagePsycho_Someext.xml
MagePsycho

@MagePsycho, а ти фактично маєш цей файл у своєму розширенні?
Девід Маннерс

2
Наскільки я розумію, файли спочатку повинні бути у dir-файлі розширення, потім вони будуть зв'язані у dir magento, а потім, коли ви робите майбутні зміни до файлів під magento, файли розширень також змінюються. Можливо, є спосіб створити розширення модмана з каталогу magento, але, на жаль, я цього не знаю.
Девід Маннерс
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.