Được rồi vì mọi người đều hạ thấp câu trả lời tôi đã viết lại từ năm 2008 * ...
Tôi sẽ cho bạn biết làm thế nào chúng ta làm điều đó ngay bây giờ trong năm 2014. Chúng tôi không còn sử dụng Trang web nữa vì hiện tại chúng tôi đang sử dụng ASP.NET MVC.
Chúng tôi chắc chắn không cần một bộ cân bằng tải và hai máy chủ để làm điều đó, thật tốt nếu bạn có 3 máy chủ cho mỗi trang web bạn duy trì nhưng nó hoàn toàn quá mức cho hầu hết các trang web.
Ngoài ra, chúng tôi không dựa vào trình hướng dẫn mới nhất của Microsoft - quá chậm và quá nhiều phép thuật ẩn giấu và quá dễ thay đổi tên của nó.
Đây là cách chúng tôi làm điều đó:
Chúng tôi có một bước xây dựng bài đăng sao chép các tệp DLL được tạo vào thư mục 'bin-pub'.
Chúng tôi sử dụng Beyond So sánh (rất tuyệt vời **) để xác minh và đồng bộ hóa các tệp đã thay đổi (qua FTP vì được hỗ trợ rộng rãi) cho đến máy chủ sản xuất
Chúng tôi có một URL an toàn trên trang web có chứa một nút sao chép mọi thứ trong 'bin-pub' thành 'bin' (trước tiên hãy sao lưu để bật lại nhanh). Tại thời điểm này, ứng dụng tự khởi động lại. Sau đó, ORM của chúng tôi sẽ kiểm tra xem có bất kỳ bảng hoặc cột nào cần được thêm và tạo chúng không.
Đó chỉ là một phần nghìn giây thời gian chết. Việc khởi động lại ứng dụng có thể mất một hoặc hai giây nhưng trong quá trình khởi động lại, các yêu cầu khởi động lại được đệm nên không có thời gian chết thực sự.
Toàn bộ quá trình triển khai mất từ 5 giây đến 30 phút, tùy thuộc vào số lượng tệp được thay đổi và số lượng thay đổi để xem xét.
Bằng cách này, bạn không phải sao chép toàn bộ trang web vào một thư mục khác mà chỉ cần thư mục bin. Bạn cũng có toàn quyền kiểm soát quá trình và biết chính xác những gì đang thay đổi.
** Chúng tôi luôn thực hiện nhanh chóng các thay đổi mà chúng tôi đang triển khai - như là một kiểm tra kép vào phút cuối, vì vậy chúng tôi biết phải kiểm tra những gì và nếu có bất cứ điều gì phá vỡ chúng tôi đã sẵn sàng. Chúng tôi sử dụng Beyond So sánh vì nó cho phép bạn dễ dàng tìm các tệp khác nhau qua FTP. Tôi sẽ không bao giờ làm điều này mà không có BC, bạn không biết bạn đang viết gì.
* Cuộn xuống phía dưới để xem nó :( BTW Tôi sẽ không còn đề xuất Trang web nữa vì chúng chậm xây dựng hơn và có thể bị lỗi nặng với một nửa tệp tạm thời được biên dịch. Chúng tôi đã sử dụng chúng trước đây vì chúng cho phép tệp nhanh hơn triển khai. Rất nhanh chóng để khắc phục một sự cố nhỏ và bạn có thể thấy chính xác những gì bạn đang triển khai (nếu sử dụng Beyond So sánh tất nhiên - nếu không hãy quên nó).