Tôi mới tham gia SVN và có một số thứ liên quan đến vấn đề này. Trong thời gian dài nhất tôi đã phát triển các trang web cục bộ (thiết lập MAMP) và sau đó ftping toàn bộ trang web trực tiếp khi nó đã sẵn sàng. Bất kỳ thay đổi nhỏ nào tôi thực hiện trực tiếp trên trang web trực tiếp và thường xuyên tôi sẽ tải xuống tất cả các tệp trên máy chủ trực tiếp vào localhost của mình (vì tôi không bao giờ có thể nhớ tất cả các tệp tôi đã thay đổi). Rõ ràng đây không phải là cách tốt nhất để làm việc. Tôi đã tò mò làm thế nào tôi có thể thiết lập SVN trên một máy chủ web sống, vì vậy mọi thay đổi tôi thực hiện tại địa phương nó sẽ được đẩy lên trang web khi tôi nói với nó. Tôi tạo repo svn ở đâu? /domain.com/www/svn? Tôi có thể tạo thư mục www làm repo thực tế hay không và liệu đây có phải là hành động xấu không?Làm thế nào để sử dụng svn trên một máy chủ apache sống?
Trả lời
Không tạo kho lưu trữ trong thư mục máy chủ web! Đó là phần đầu tiên của vấn đề của bạn.
Kho lưu trữ của bạn có thể tồn tại ở mọi nơi, chỉ cần không đặt nó vào thư mục của máy chủ web.
Khi bạn thiết lập Apache httpd (nếu đó là những gì bạn đang sử dụng), thiết lập nó để bỏ qua svn thư mục như thế này:
<DirectoryMatch \.svn>
Order allow,deny
Deny from all
</DirectoryMatch>
Bây giờ, ở một nơi khác, trừ máy chủ web của bạn, tạo ra một Subversion kho. Thanh toán từ kho lưu trữ đó trong một thư mục đang hoạt động ở một nơi khác không có trong thư mục máy chủ web của bạn. Bây giờ bạn có thể nhập tất cả các tệp sẽ nằm trong kho lưu trữ của bạn tại đây và cam kết chúng vào kho lưu trữ Subversion của bạn.
Khi bạn đã thực hiện điều đó, bạn có thể truy cập thư mục của máy chủ web nơi bạn muốn các tệp này xuất hiện và thực hiện thanh toán.
Bạn cần phải có ba điều:
- Một kho lưu trữ Subversion đó là không trong thư mục của webserver.
- Thư mục hoạt động chứa tất cả các tệp của bạn trong trang web của bạn là không có trong thư mục máy chủ web của bạn.
- Thư mục hoạt động nằm trong thư mục máy chủ web của bạn.
Gói này là: Bạn thực hiện các thay đổi trong thư mục hoạt động không có trong thư mục máy chủ web của bạn. Bạn có thể làm thử nghiệm của bạn ở đây, và cam kết thay đổi của bạn ở đây. Bạn cũng làm tất cả các thử nghiệm của bạn ở đây quá.
Khi bạn đã hài lòng với mọi thứ, bạn có thể thực hiện svn update
trong thư mục làm việc Subversion nằm trong thư mục máy chủ web của bạn. Vì vậy, bạn làm công việc của bạn bên ngoài của máy chủ web, kiểm tra, và sau đó làm một svn update
trong thư mục máy chủ web.
Nếu bạn muốn thực sự ưa thích, bạn có thể tạo một nhánh web đại diện cho mã trong thư mục máy chủ web của bạn. Sau đó, bạn có thể kiểm tra mã của bạn trong và ngoài tất cả những gì bạn muốn. Khi bạn đã sẵn sàng để thực hiện nó trong trang web của bạn, bạn có thể hợp nhất nó vào chi nhánh web. Khi bạn cập nhật thư mục làm việc trong thư mục máy chủ web của bạn, nó sẽ chỉ kéo mã trên nhánh web.
Trong thực tế, bạn có thể tự động hóa quá trình đó với một số loại cronjob. Bạn đưa trang web của bạn xuống, cập nhật thư mục làm việc lật đổ trong thư mục máy chủ web của bạn rồi khởi động lại trang web của bạn. Điều này đảm bảo rằng các tệp mà người dùng web đang xem không bị thay đổi từ bên dưới.
Cảm ơn rất nhiều Tôi nghĩ rằng bạn đã trả lời câu hỏi của tôi nhưng tôi vẫn phải làm một số nghiên cứu thêm về svn vào cuối của tôi để đảm bảo rằng tôi hiểu nó. Tôi đã đưa ra một sơ đồ nhanh, bạn có thể kiểm tra điều này và xem liệu tôi có hiểu bạn đúng không? http://danramosd.com/svn_diagram.png – dan
Xin lỗi, tôi không thấy biểu đồ. Hai chương đầu tiên trong [Subversion book] (http://svnbook.red-bean.com/en/1.5/index.html) giải thích cách hoạt động của nó. Đó là một trong những hướng dẫn sử dụng mã nguồn mở tốt nhất mà tôi từng thấy. Vì Subversion miễn phí, hãy tải xuống và làm theo các ví dụ trong sách. Với trong một tuần, bạn sẽ có được một ý tưởng tuyệt vời về cách Subversion hoạt động. Tôi sử dụng Git và Subversion cho các dự án của mình, nhưng thích Subversion vì nhiều lý do khác nhau. –
mẹo hay để chặn thư mục .svn từ các yêu cầu http. –
tôi sẽ thiết lập một cấu trúc trong thanh toán svn của bạn (trên hộp địa phương của bạn) mà phù hợp với các tập tin bạn cần lưu trữ (và không nhất thiết phải phù hợp với cấu trúc của máy chủ), ví dụ:
my-project
my-project/docs/README.txt (any documentation you want to write)
my-project/www/index.html (etc)
và Sớm. Sau đó,
(1) Nếu bạn có quyền truy cập vào chạy lệnh trên máy chủ, tôi sẽ đăng nhập và làm ví dụ:
cd /domain.com
rm -rf www
svn co https://svn.myserver.com/my-project/www www
(2) Nếu không, tôi sẽ kiểm tra các tập tin trên máy tính địa phương của bạn và ftp chúng trên máy chủ.
Tùy chọn (1) tốt hơn nhưng ngay cả với tùy chọn (2) bạn có lợi thế hơn thiết lập hiện tại của mình. Nếu bạn thay đổi tệp trên máy chủ, bạn có thể ftp toàn bộ thư mục quay lại hộp địa phương của bạn vào một thư mục mới, sau đó "cam kết" các tệp với máy chủ lật đổ. Subversion (với các thư mục .svn
mà bạn cần sao chép vào/từ máy chủ) sẽ biết bạn đã thay đổi tệp nào.
- 1. Sử dụng WebSocket trên máy chủ Apache
- 2. Sử dụng tập tin .htaccess trên máy chủ apache localhost
- 3. làm thế nào để sử dụng một máy chủ sonar trên nhiều máy
- 4. Làm thế nào để sử dụng SVN không có máy chủ?
- 5. Máy chủ Apache chậm trên EasyPHP
- 6. Làm thế nào để thực hiện một repo Git với một máy chủ SVN rỗng?
- 7. Sử dụng apache tomcat với máy chủ wamp
- 8. Triển khai Django trên máy chủ apache
- 9. Làm cách nào để chạy Django và PHP cùng nhau trên một máy chủ Apache?
- 10. Làm thế nào để SSH đến một máy chủ đằng sau một máy chủ SSH bằng cách sử dụng JSch?
- 11. Làm cách nào để nhận nhật ký máy chủ SVN?
- 12. Làm cách nào để chuyển đổi tệp chứng chỉ PFX để sử dụng với Apache trên máy chủ Linux?
- 13. Máy chủ Mercurial trên Apache/Windows
- 14. Chạy django và bình trên cùng một máy chủ apache
- 15. Làm thế nào để sử dụng django-máy nén với apache?
- 16. Tên miền phụ sử dụng Máy chủ ảo Apache
- 17. Làm thế nào để triển khai dự án ứng dụng web Java từ Eclipse để sống máy chủ Tomcat?
- 18. Làm thế nào để dừng máy chủ mongodb trên Windows?
- 19. Làm thế nào để sử dụng máy chủ Tomcat bên ngoài trong Netbeans trên Linux?
- 20. Thiết lập máy chủ SVN?
- 21. Làm thế nào để chạy nhiều ứng dụng Ruby (Rack) nhỏ trên một máy chủ?
- 22. Cách sử dụng C++ cho máy chủ apache
- 23. Làm thế nào để thay thế Máy chủ MySQL với Apache Derby làm cơ sở dữ liệu ứng dụng PHP?
- 24. Làm thế nào để dừng máy chủ RabbitMQ trên máy chủ cục bộ
- 25. Làm thế nào để viết lại/proxy một Apache URI cho một ứng dụng nghe trên một cổng/máy chủ cụ thể?
- 26. Làm cách nào để cài đặt ứng dụng khách SVN trên máy chủ amazon micro ec2 (Amazon Linux)
- 27. JSch: Làm thế nào để ssh vào một máy chủ bằng cách sử dụng ssh-keys
- 28. Apache mime loại máy chủ
- 29. Làm thế nào để sử dụng biến setEnv trong apache?
- 30. Có thể sử dụng Apache Thrift trên máy chủ web thông thường không?
Máy chủ web trực tiếp của bạn có kết nối với máy chủ Subversion không? – jgifford25