Làm cách nào để sử dụng modman để quản lý các mô-đun trong github?


12

Tôi đang cố gắng sử dụng modman( https://github.com/colinmollenhour/modman ) để quản lý Tiện ích mở rộng của mình trong github.

Đầu tiên tôi đang cố gắng thêm MagePsycho_Someextphần mở rộng dưới dạng demo.

Cho đến nay tôi đã thực hiện các bước sau

/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. Đã phát triển tiện ích mở rộng 'MagePologistso_Someext' trong / var / www / magento-dir với các tệp sau
    • ứng dụng / etc / mô-đun / MagePologistso_Someext.xml
    • ứng dụng / mã / cục bộ / MagePologistso / someext / etc / config.xml
    • ứng dụng / mã / cục bộ / MagePologistso / someext / Helper / Data.php

10 Đã thêm thông tin ánh xạ tệp trong /var/www/magento-dir/.modman/Someext/modman dưới dạng

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

nhưng có các lỗi sau:

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

Ghi chú : Tôi đang phát triển phần mở rộng trong /var/www/magento-dir/. Và muốn triển khai các tiện ích mở rộng này (một cho mỗi kho lưu trữ) trong github bằng modman. Khi tôi hoàn thành việc phát triển mô-đun, tôi muốn các tệp đó được thêm vào kho lưu trữ. Cho rằng tôi đã sử dụng tệp .modman / * / modman để ánh xạ. Nhưng không thể làm cho nó hoạt động.

Tôi đang thiếu ở đâu và những gì?
Hay đây là cách tiếp cận không chính xác?

[BIÊN TẬP]

Tôi chỉ nhận ra rằng cách tiếp cận của tôi là ngược lại. Đầu tiên, bạn phải thêm các tệp mở rộng và modman với ánh xạ đường dẫn, đẩy nó vào repo và sau đó kéo nó bằng cách sử dụng modman clone.

Bạn sẽ làm thế nào nếu lần đầu tiên phát triển tiện ích mở rộng và sau đó sử dụng modman để đẩy các thay đổi sang repo?


1
Không thể trả lời toàn diện vào lúc này nhưng nhìn chung bạn không nên sửa đổi nội dung trong thư mục .modman. Đây là một điểm khởi đầu tốt github.com/colinmollenhour/modman/wiki/Tutorial
Zifius

Tôi không chắc chắn nơi để quản lý các ánh xạ. trong / var / www / MagePologistso_Extensions / someext / modman? Nếu có thì phải đẩy các thay đổi sang github và kéo nó bằng modman update?
MagePologistso

Tôi không hiểu tại sao bạn trực tiếp tham khảo tiện ích mở rộng, nếu ở trong repo bạn có thể tải xuống trực tiếp từ đó.
Allan MacGregor

Bên trong repo gốc mở rộng của bạn nên có một tệp modman với ánh xạ được xác định.
Allan MacGregor

Đợi đã, bạn đang cố kéo phần mở rộng từ / var / www / magento-dir / vào một repo riêng?
Allan MacGregor

Câu trả lời:


7

Cuối cùng tôi đã tìm ra cách quản lý các mô-đun Magento bằng modman (mặc dù không phải là cách hoàn hảo nhưng nó hiệu quả với tôi)

Giả định

/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. Bây giờ hãy phát triển tiện ích mở rộng 'MagePologistso_Someext' trong /var/www/magento-dir/.modman/Someext với các tệp sau
    • ứng dụng / etc / mô-đun / MagePologistso_Someext.xml
    • ứng dụng / mã / cục bộ / MagePologistso / someext / etc / config.xml
    • ứng dụng / mã / cục bộ / MagePologistso / someext / Helper / Data.php

10 Thêm thông tin ánh xạ tệp trong /var/www/magento-dir/.modman/Someext/modman dưới dạng

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 Đó là tất cả.

Tóm lại, bạn sẽ làm việc trên thư mục magento-dir / .modman / someext được liên kết với magento-dir. Bất cứ khi nào bạn thêm các tệp mới vào tiện ích mở rộng của mình, bạn phải cập nhật tệp modman và chạy modman repairđể giữ cho các liên kết tượng trưng được cập nhật.

Nếu ai có cách tiếp cận tốt hơn, xin vui lòng chia sẻ.


6

Vì vậy, lời khuyên của tôi ở đây là vì dù sao bạn cũng có một bản sao của tiện ích mở rộng, sau đó sử dụng các lệnh linkdeploythay vìclone

Trong trường hợp của bạn, bạn chỉ cần gọi:

  1. modman init
  2. modman link ../Your_Extension_Path (nếu đây là một phần mở rộng)
  3. modman deploy Your_Extension_Path

Phương pháp này cần bạn hoàn thành tệp modman trong thư mục tiện ích mở rộng của bạn với ánh xạ tệp nhưng từ nhận xét của bạn, có vẻ như bạn đã có cái này.

Theo hiểu biết của tôi, các tệp cần phải có trong thư mục mở rộng trước, sau đó chúng sẽ được liên kết với thư mục magento để sau đó khi bạn thực hiện các chỉnh sửa trong tương lai cho các tệp trong magento, các tệp mở rộng cũng được thay đổi. Có thể có một cách tạo phần mở rộng modman từ thư mục magento nhưng thật đáng buồn là tôi không biết điều đó.

Một cách đơn giản để đối phó các tệp từ Magento sang thư mục mở rộng là có hai trình thám hiểm cửa sổ mở cho các cửa sổ và sao chép chúng qua hoặc sử dụng một cái gì đó như chỉ huy nửa đêm

Lưu ý: Tôi chỉ sử dụng modman cho phiên bản php nhưng quá trình này hoạt động cho điều đó


/ var / www / MagePologistso_Extensions / sẽ có nhiều tiện ích mở rộng hơn nói: Extension1, Extension2 với các kho lưu trữ khác nhau. Điều đó sẽ làm cho một sự khác biệt bằng cách sử dụng phương pháp của bạn?
MagePologistso 28/07 '

không chắc chắn nhưng tôi đoán bạn sẽ chỉ cần hai cấp để liên kết như ../MagePsycho_extenstion/Extension1và sau đó triển khai một trong hai sẽ là MagePsycho_extenstion/Extension1hoặc Extension1tôi không chắc chắn mà không cần cố gắng nó ra.
Phong tục David

Sau khi làm theo liên kết của bạn & phương pháp triển khai, cung cấp cho các CẢNH BÁO lỗi tương tự: Mục tiêu không tồn tại (.modman / MagePsycho_Someext / modman): ứng dụng / etc / modules / MagePsycho_Someext.xml app / etc / modules / MagePsycho_Someext.xml
MagePsycho

@MagePologistso và bạn thực sự có tập tin này trong phần mở rộng của bạn?
Phong tục David

2
Theo hiểu biết của tôi, các tệp cần phải có trong thư mục mở rộng trước, sau đó chúng sẽ được liên kết với thư mục magento để sau đó khi bạn thực hiện các chỉnh sửa trong tương lai cho các tệp trong magento, các tệp mở rộng cũng được thay đổi. Có thể có một cách tạo phần mở rộng modman từ thư mục magento nhưng thật đáng buồn là tôi không biết điều đó.
Phong tục David
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.