Tôi có chi nhánh feature
và chi nhánh testing
(đối với hồi quy ban đầu). Tôi muốn có một bản sao làm việc có sẵn cho chi nhánh testing
của tôi cho môi trường thử nghiệm. Tuy nhiên, tôi cần phải nén một số mã nguồn (không thành mã nhị phân, chỉ cần tối ưu hóa) thông qua một tập lệnh. Tôi có thể ban hành kịch bản này thông qua một hook Git sau khi nhận.Cách sử dụng đúng tập lệnh CI với móc Git để nén nguồn
Tôi đang cố gắng thiết kế tập lệnh bash của tôi (cho CI) để nó khá mạnh mẽ và muốn tránh tự động hóa gây ra xung đột Git. Tôi đang nghĩ đến việc có một kho lưu trữ chính (origin
) và một kho lưu trữ môi trường thử nghiệm (ci_test
) chỉ đơn giản là cho phép CI cam kết.
Tôi đang suy nghĩ về việc đẩy tới ci_test/testing
khi quảng bá nguồn. CI nên nén, thêm, cam kết, tìm nạp từ origin/testing
, hợp nhất nếu cần (lấy xung đột iff đầy đủ), sau đó đẩy tới origin/testing
.
Sự cố với mô hình của tôi ở trên là Git phàn nàn khi tôi cố gắng đẩy đến ci_test/testing
vì nó có bản sao làm việc (có ý nghĩa, vì chúng có thể không được đồng bộ hóa). Có cách nào thích hợp (tự động) để sử dụng các tập lệnh Tích hợp liên tục với Git để chúng vẫn được theo dõi không?
[Push-to-checkout] (https://git-scm.com/docs/githooks#_push_to_checkout) móc trông đầy hứa hẹn. Tôi đã không nhận thức được rằng móc hiện có. Lý do tôi muốn ci_test có bản sao làm việc là vì móc sẽ sửa đổi nguồn và tôi muốn cam kết thay đổi (tôi không thể tưởng tượng có thể làm điều đó mà không có bản sao làm việc). Tôi cũng đang sử dụng bản sao làm việc như thư mục được sử dụng để đọc phiên bản thử nghiệm của ứng dụng. – BLaZuRE
@BLaZuRE có, trong trường hợp của bạn, tính năng push-to-checkout có vẻ phù hợp. – VonC