2016-09-02 59 views
9

Chủ yếu, câu hỏi này dành riêng cho git với Magento 2. Tôi có một dự án Magento 2 đang hoạt động và tôi đã cài đặt phần mở rộng bằng cách sử dụng github repo - https://github.com/Adyen/adyen-magento2.magento 2 vendor git diff & áp dụng miếng vá

Trong trường hợp hiện tại, tôi phải gỡ lỗi phần mở rộng đó và phải kiểm tra trên máy chủ từ xa của mình. Tôi đã chia đôi repo đó và tạo một bản vá nói ví dụ: cc_debug.patch tệp. Bây giờ, tôi đã thêm bản vá đó vào thư mục gốc của tôi trên máy chủ cục bộ. Sau đó, nếu tôi thực thi bản vá bằng cách sử dụng git apply --apply --directory=vendor/adyen/module-payment/ cc_debug.patch, nó sẽ thực hiện thủ thuật và sửa đổi các tệp trong thư mục của nhà cung cấp. Tôi đã đẩy các thay đổi trên repo và do kịch bản triển khai, tệp đó được chuyển đến máy chủ từ xa.

Hiện tại, tôi chỉ có quyền truy cập đọc trên máy chủ từ xa và không có .git được khởi tạo. Nếu tôi áp dụng bản vá trên máy chủ từ xa, nó sẽ được thực hiện chắc chắn nhưng nếu tôi đẩy thời gian tới, do nhà cung cấp kịch bản triển khai sẽ được tạo lại và thay đổi được áp dụng bởi bản vá sẽ bị mất. Ở đây có một số móc vào hình ảnh như tôi biết nhưng tôi thiếu kiến ​​thức về móc.

tôi cho rằng tôi phải tạo móc hậu triển khai trong git repo địa phương của tôi như dưới đây:

#!/bin/sh 

patchfile = "cc_debug.patch" 
patchingdirectory = "vendor/adyen/module-payment/" 
if [ -f "$patchfile" ] 
then 
    git apply --apply --directory=$patchingdirectory $patchfile 
fi 

Bây giờ, tôi không thể đẩy mà móc để repo từ xa (thậm chí không khởi tạo) để rằng giải pháp này sẽ không làm việc cho tôi. Hoặc như tôi biết sau khi cập nhật là một cái gì đó cụ thể cho điều khiển từ xa (đúng với tôi nếu tôi sai) vì vậy tôi đoán rằng những thay đổi sẽ được thực hiện trên máy chủ từ xa do móc này, nhưng nếu tôi sao chép lại trên máy cục bộ khác, tôi phải tạo bản vá sau khi triển khai một lần nữa, vì vậy đó không phải là trường hợp lý tưởng.

Điều gì có thể là giải pháp cho tôi áp dụng bản vá lỗi mỗi khi triển khai tập lệnh được thực thi? [Lưu ý: kịch bản triển khai không nằm trong tay của tôi vì nó được thực thi bởi các webhook được cung cấp bởi Magento trên github. Vì vậy, tôi giả định rằng phải có một số webhook sử dụng mà tôi sẽ phải áp dụng bản vá và đó là một lần nữa tôi thiếu kiến ​​thức.] Tôi chắc chắn ai đó có tình hình tương tự như tôi. Xin vui lòng hướng dẫn cho tôi. TIA.

Trả lời

1

Cuối cùng, tôi tìm thấy điểm vào nơi tôi có thể thêm build móc của tôi .. Tôi đã sửa đổi .magento.app.yaml trên thư mục gốc của thư mục Magento 2 và bổ sung xây dựng móc như sau:

hooks: 
# We run build hooks before your application has been packaged. 
build: | 
    php ./bin/magento magento-cloud:build 
    patch -p1 --directory=vendor/adyen/module-payment/ < cc_debug.patch #This is the line I have added. 
0

Có thể bạn có thể sử dụng plugin trình soạn nhạc như http://github.com/cweagans/composer-patches để áp dụng các bản vá lỗi. Tôi đang sử dụng bản thân mình để áp dụng các bản vá lỗi cốt lõi đã chọn chưa được đưa vào bản phát hành chính.

+0

Cảm ơn nhưng đây không phải là những gì tôi đang tìm kiếm .. – Kamal

Các vấn đề liên quan