Trước khi tôi bắt đầu, tôi biết có rất nhiều câu hỏi tương tự như câu hỏi này, nhưng tôi thực sự gặp khó khăn trong việc tìm kiếm một thực hành ngắn gọn, an toàn và tốt nhất vì phản hồi về chúng đã rất đa dạng.Làm thế nào để bạn thực hiện thao tác kéo git tự động trên máy chủ từ xa?
Điều tôi muốn làm: 1) Hoàn thành công việc trên máy cục bộ của tôi trên chi nhánh phát triển. 2) Đẩy các thay đổi vào git. Git đăng lên URL webhook và tự động có máy chủ từ xa của tôi kéo các thay đổi trên trang web phát triển. 3) Sau khi QA'd và được xác nhận là thích hợp trên trang web phát triển, hãy đẩy chi nhánh chính vào vị trí sản xuất (trên cùng một máy chủ với trang web phát triển).
Tôi đang ở đâu: Tôi đã cài đặt git trên máy cục bộ và máy chủ từ xa. Tôi có thể đẩy mod vào nhánh phát triển thành git. Trên máy chủ từ xa, tôi có thể kéo các bản cập nhật và nó hoạt động như một sự quyến rũ. Vấn đề là tôi không thể nhận được máy chủ từ xa để tự động cập nhật khi các thay đổi được đẩy từ máy cục bộ của tôi.
Câu hỏi của tôi là: 1) Đối với thư mục trang web phát triển máy chủ từ xa, tôi có nên git init hoặc git init --bare không? Tôi không có kế hoạch có bản cập nhật được thực hiện trên chính máy chủ. Tôi muốn đội ngũ dev của tôi làm việc tại địa phương và đẩy mod vào máy chủ. Tôi tin rằng tôi cần phải sử dụng git init như cây làm việc là cần thiết để thiết lập một bí danh từ xa để kho git, nhưng tôi muốn xác nhận. 2) Tôi khá chắc chắn bài đăng trên web từ vấn đề git là do đặc quyền của người dùng. Làm thế nào tôi có thể an toàn giải quyết vấn đề này? Tôi đã đọc nhiều hướng dẫn đề nghị cập nhật các tập tin git hook, nhưng tôi cảm thấy như thể đó là quyết liệt hơn của một biện pháp hơn tôi cần phải thực hiện. Tôi rất muốn có thể có webhook đánh một URL mà an toàn kéo các tập tin mà không cần thêm một boatload mã (nếu có thể).
Tôi là một nhà phát triển web theo bản chất, do đó, các nhiệm vụ git và sysadmin thường là nguyên nhân của sự tồn tại của tôi. Một lần nữa, tôi biết câu hỏi này tương tự như câu hỏi khác, nhưng tôi vẫn chưa tìm được cách tiếp cận toàn diện, súc tích, an toàn và hợp lý nhất để giải quyết vấn đề. Tôi khoảng 16 giờ và đã chính thức nhấn điểm "đi vòng kết nối không có tiến bộ".
Cảm ơn bạn rất nhiều vì sự giúp đỡ của bạn!
Wow nó là loại không thể tìm thấy một giải pháp đơn giản cho việc này. Làm cho tôi nhớ SVN một chút ... – Jake