Github'daki modülleri yönetmek için modman nasıl kullanılır?


12

Uzantılarımı github'da yönetmek için modman( https://github.com/colinmollenhour/modman ) kullanmaya çalışıyorum .

Önce MagePsycho_Someextdemo olarak uzantı eklemeye çalışıyorum .

Şimdiye kadar aşağıdaki adımları attım

/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. / Var / www / magento-dir içindeki 'MagePsycho_Someext' uzantısını aşağıdaki dosyalarla geliştirdi
    • Uygulamanın / etc / modules / MagePsycho_Someext.xml
    • Uygulamanın / kod / yerel / MagePsycho / Someext / etc / Config.xml
    • Uygulamanın / kod / yerel / MagePsycho / Someext / Yardımcı / Data.php

10 /var/www/magento-dir/.modman/Someext/modman içindeki dosya eşleme bilgilerini as

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

ancak aşağıdaki hataları aldı:

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

Notlar : 'da uzantı geliştiriyorum /var/www/magento-dir/. Ve bu uzantıları (havuz başına bir tane) modman kullanarak github'a dağıtmak istiyorum. Modül geliştirmeyi bitirdiğimde, bu dosyaların depoya eklenmesini istiyorum. Bunun için eşleme için .modman / * / modman dosyasını kullandım. Ama çalıştıramadı.

Nerede ve neyi özlüyorum?
Yoksa bu yanlış bir yaklaşım mı?

[DÜZENLE]

Yaklaşımımın tam tersi olduğunu fark ettim. İlk olarak, yol eşlemelerine sahip uzantı dosyaları ve modman eklemeniz, repoya itmeniz ve ardından kullanarak çekmeniz gerekir modman clone.

Öncelikle uzantıyı geliştirir ve daha sonra repodaki değişiklikleri itmek için modman kullanırsanız nasıl yapardınız?


1
Şu anda kapsamlı bir yanıt veremiyorum ancak genellikle .modman klasöründeki değişiklikleri değiştirmemelisiniz. Bu iyi bir başlangıç ​​noktasıdır github.com/colinmollenhour/modman/wiki/Tutorial
Zifius

Eşlemeleri nerede yöneteceğimi bilmiyorum. / var / www / MagePsycho_Extensions / Someext / modman'da mı? Evet ise, değişiklikleri github'a itmek ve modman güncellemesini kullanarak çekmek zorunda mısınız?
MagePsycho

Neden uzantıya doğrudan başvurduğunuzu anlamıyorum, bir repodaysa doğrudan oradan indirebilirsiniz.
Allan MacGregor

Uzantı kök deponuzda, eşlemeleri tanımlanmış bir modman dosyası olmalıdır.
Allan MacGregor

Bekleme uzantısını / var / www / magento-dir / dizininden ayrı bir repoya mı çekmeye çalışıyorsunuz?
Allan MacGregor

Yanıtlar:


7

Sonunda Magento modüllerini modman kullanarak yönetmenin yolunu buldum (mükemmel bir yol değil ama benim için çalışıyor)

Varsayımlar

/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. Şimdi /var/www/magento-dir/.modman/Someext içindeki 'MagePsycho_Someext' uzantısını aşağıdaki dosyalarla geliştirin
    • Uygulamanın / etc / modules / MagePsycho_Someext.xml
    • Uygulamanın / kod / yerel / MagePsycho / Someext / etc / Config.xml
    • Uygulamanın / kod / yerel / MagePsycho / Someext / Yardımcı / Data.php

10 /var/www/magento-dir/.modman/Someext/modman içindeki dosya eşleme bilgilerini as

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 Hepsi bu.

Özetle, magento-dir bağlantısı olan magento-dir / .modman / Someext dizini üzerinde çalışacaksınız. Uzantınıza her yeni dosya eklediğinizde, modman dosyasını güncellemeniz modman repairve sembolik bağlantıları güncel tutan çalıştırmanız gerekir.

Eğer daha iyi bir yaklaşımı varsa, lütfen paylaşın.


6

Yine uzantısı yerel kopyasına sahip beri burada benim tavsiyem daha sonra kullanmak olduğunu Yani linkve deployyerine komutlarıclone

Sizin durumunuzda:

  1. modman init
  2. modman link ../Your_Extension_Path (bu tek bir uzantıysa)
  3. modman deploy Your_Extension_Path

Bu yöntem, dosya eşlemeleri ile uzantı dizininizde modman dosyasını tamamlamanız gerekir, ancak yorumlarınızdan zaten buna sahipsiniz.

Anladığım kadarıyla, dosyaların önce uzantı dizininde olması gerekir, daha sonra magento dizinine bağlanırlar, böylece magento altındaki dosyalarda gelecekteki düzenlemeleri yaptığınızda uzantı dosyaları da değiştirilir. Belki bir magento dizininden bir modman uzantısı oluşturmak için bir yol var ama ne yazık ki bilmiyorum.

Magento'dan bir uzantı dizinine dosyalarla baş etmenin basit bir yolu, ya pencereler için açık iki pencere kaşifine sahip olmak ve onları kopyalamak ya da gece yarısı komutanı gibi bir şey kullanmaktır

Not: Ben sadece php sürümü için modman kullandım ama bu işlem bunun için çalışır


/ var / www / MagePsycho_Extensions / daha fazla uzantıya sahip olacak: Extension1, Extension2 farklı depolara sahip. Yaklaşımınızı kullanarak fark yaratacak mı?
MagePsycho

emin ama sanırım sen gibi bağlantı iki seviye gerekir ../MagePsycho_extenstion/Extension1ve daha sonra dağıtma ya olurdu MagePsycho_extenstion/Extension1ya Extension1ben bunu denemeden emin değilim.
David Manners

Bağlantı ve konuşlandırma yaklaşımınızı izledikten sonra aynı hatayı verir UYARI: Hedef mevcut değil (.modman / MagePsycho_Someext / modman): app / etc / modules / MagePsycho_Someext.xml app / etc / modules / MagePsycho_Someext.xml
MagePsycho

@MagePsycho ve aslında bu dosyayı uzantınızda var mı?
David Manners

2
Anladığım kadarıyla, dosyaların önce uzantı dizininde olması gerekir, daha sonra magento dizinine bağlanırlar, böylece magento altındaki dosyalarda gelecekteki düzenlemeleri yaptığınızda uzantı dosyaları da değiştirilir. Belki bir magento dizininden bir modman uzantısı oluşturmak için bir yol var ama ne yazık ki bilmiyorum.
David Manners
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.