Tôi sử dụng Git để theo dõi các thay đổi cục bộ trong các ứng dụng web PHP của mình, và tôi tự hỏi có nên sử dụng Git trên máy chủ không, để tôi có thể sử dụng git push
để triển khai các thay đổi của mình. Sẽ có bất kỳ cạm bẫy với cách tiếp cận này?Tôi có nên sử dụng Git để triển khai ứng dụng web không?
Trả lời
Điều này có vẻ như là một cách hay để làm việc. Nếu bạn đang gắn thẻ và phân nhánh đúng cách, nó sẽ cho phép bạn nhanh chóng chuyển về phiên bản hoạt động của trang web của bạn trong trường hợp có sự cố xảy ra.
Tôi nghĩ đây là cách tốt để làm điều đó. Tôi xử lý mọi thứ theo cách tương tự, nơi các trang web trực tiếp chỉ là một thanh toán từ kho lưu trữ và tôi cập nhật chúng khi cần thiết.
+1. Nó làm cho mọi thứ thực sự tốt đẹp nếu bạn muốn kiểm tra các thay đổi trên máy chủ (tất cả những gì bạn cần để chạy là lệnh trạng thái để tìm kiếm các tập tin mới hoặc sửa đổi) ... – ircmaxell
Và các hotfix trực tuyến có thể được đẩy trở lại phát triển.
Có thể thực hiện git status
trên hệ thống trực tiếp có thể là trình tiết kiệm trực tiếp.
Đi cho nó!
Hãy cẩn thận
- Hãy chắc chắn rằng các ".git" thư mục không thể truy cập từ các trang web.
- Với PHP mã nguồn thường xuất hiện trên máy chủ web, do đó không thêm nguy cơ bổ sung trong trường hợp máy chủ bị tấn công.
Đó không phải là giai đoạn QA là gì? Vì vậy, bạn không bao giờ thực hiện hotfix trực tuyến? Heck hầu hết các nơi thậm chí không để cho các nhà phát triển của họ có quyền truy cập vào máy chủ sản xuất, nhưng một mình sửa chữa những điều sống ... (nhưng nó là một điểm hợp lệ về sửa lỗi backporting) ... – ircmaxell
Bởi vì sau khi Q & A giai đoạn dự án luôn luôn là bugfree ...? Tôi muốn tên của công ty thực hiện Q &A ;) –
Không, nhưng vì bất kỳ sửa lỗi nào được yêu cầu phải trải qua QA trước khi đưa vào sản xuất (để cố gắng loại bỏ khả năng hồi quy) ... – ircmaxell
Tôi sẽ ưu tiên sử dụng một kỹ thuật như thế này nếu chỉ vì bạn có thể chắc chắn bất cứ điều gì trên trang web được triển khai của bạn cũng đang được theo dõi trong git. Đó là, nó khuyến khích một thực hành tốt nhất và ngăn cản những thay đổi đặc biệt không thuộc quyền kiểm soát nguồn. Để thay thế khác, hãy xem bài viết này về cách Twitter sử dụng BitTorrent để quản lý triển khai: http://torrentfreak.com/twitter-uses-bittorrent-for-server-deployment-100210/ Nó có thể hữu ích nhất khi bạn cần triển khai nhanh chóng trên một bộ sưu tập lớn các máy chủ.
Tôi nghĩ đó là giải pháp tuyệt vời. Tôi đã sử dụng nó để triển khai trang web của tôi trong một thời gian dài ... Nó đẹp vì bạn gần như ngay lập tức có thể đẩy các thay đổi của bạn vào sản xuất chỉ bằng cách cập nhật thư mục. Tôi đã gặp phải không có vấn đề an ninh hoặc bất cứ điều gì với nó.
Tận hưởng!
Git là tốt nhưng bạn có thể làm tốt hơn rất nhiều sau đó chỉ cần sử dụng git kéo. Hãy xem railess deploy cho capistrano.
Capistrano về cơ bản thực hiện kết hợp rsync và git pull để triển khai bản sao trang web của bạn. Nó hỗ trợ roleback, dàn dựng và phân phối triển khai.
- 1. Tôi có nên sử dụng git để triển khai các trang web không?
- 2. Tôi có thể sử dụng Linux/Mono để triển khai ứng dụng web aspnet không?
- 3. Tôi nên triển khai ACL của mình như thế nào trong một ứng dụng web?
- 4. Tôi có nên sử dụng Google Web Toolkit cho ứng dụng web mới của mình không?
- 5. Tôi có nên triển khai onRetainNonConfigurationInstance không?
- 6. Hiểu Triển khai Ứng dụng Web Python
- 7. Triển khai ứng dụng web Asp.net MVC
- 8. Sử dụng 'git pull' so với 'git checkout -f' để triển khai trang web
- 9. Git vs FTP để triển khai web
- 10. Sử dụng Web Triển khai - Quyền
- 11. Tôi nên sử dụng công cụ nào để tự động triển khai ứng dụng ASP.NET MVC của mình?
- 12. Tôi có nên sử dụng StringBuilder hoặc StringBuffer cho các ứng dụng web không?
- 13. Triển khai ứng dụng web .NET 4.5 với Triển khai Web
- 14. Bạn sử dụng công cụ/ngôn ngữ nào để triển khai ứng dụng web PHP?
- 15. Tôi có nên sử dụng từ khóa tự (thuộc tính) trong quá trình triển khai không?
- 16. Tôi có nên sử dụng ScriptSharp
- 17. Sử dụng Capistrano để triển khai ứng dụng Rails cho nhiều máy chủ web
- 18. Bạn sử dụng những gì để triển khai các ứng dụng web của mình?
- 19. Không thể triển khai ứng dụng GOLang mẫu để Heroku
- 20. Việc triển khai các ứng dụng .NET so với việc triển khai các ứng dụng web Java như thế nào?
- 21. Sử dụng python để phát triển ứng dụng web
- 22. Triển khai ứng dụng CakePHP
- 23. Làm cách nào để triển khai Liên kết Liên kết đến ứng dụng web của tôi?
- 24. Việc triển khai các ứng dụng web Java có tốn kém hơn các ứng dụng web PHP khác không?
- 25. Triển khai ứng dụng web vào Tomcat đang chạy
- 26. Triển khai ứng dụng web và nhiều phiên bản
- 27. Thay đổi cấu hình trên trang web Azure khi sử dụng GIT để triển khai
- 28. Khi tôi đang sử dụng Git, tôi có nên rebase trước khi hợp nhất không?
- 29. Làm thế nào để triển khai một ứng dụng web sử dụng F # để Azure trang web
- 30. Cách chạy ứng dụng web Haskell đã triển khai
@bcat: Cảm ơn bạn đã chỉnh sửa. Không chắc chắn làm thế nào tôi bỏ lỡ một. – DLH
Lỗ hổng cực kỳ rõ ràng là nếu bạn đẩy vào một kho không trống, cây làm việc (các tệp thực tế) sẽ * không * được cập nhật. Tôi không thể tin rằng không có câu trả lời nào đề cập đến điều đó. – Cascabel
@Jefromi: Rất đúng. Tôi thực sự [chỉ tìm thấy một giải pháp cho điều đó.] (Http://stackoverflow.com/questions/279169/deploy-php-using-git) – DLH