Tôi biết đây là một câu hỏi rất cơ bản. Nếu ai đó có thể hài hước với tôi và cho tôi biết họ sẽ xử lý việc này như thế nào, tôi sẽ rất tuyệt.
Tôi quyết định đăng bài này vì tôi sắp cài đặt SynchToy để khắc phục sự cố bên dưới và tôi cảm thấy hơi thiếu chuyên nghiệp khi sử dụng "Đồ chơi" nhưng tôi không thể nghĩ ra cách nào tốt hơn.
Nhiều lần tôi tìm thấy khi tôi ở trong tình huống này, tôi đang bỏ lỡ một cách rõ ràng đau đớn để làm mọi việc - điều này xuất phát từ việc là nhà phát triển duy nhất trong công ty.
- Ứng dụng web ASP.NET được phát triển trên máy tính của tôi tại nơi làm việc
- Giải pháp có 2 dự án:
- Trang web (tập tin)
- Trang webLib (C # / dll)
- Sử dụng kho Git
- Đã triển khai trên máy chủ web GoGrid 2008R2
Triển khai:
- Thực hiện thay đổi mã.
- Đẩy đến Git.
- Máy tính từ xa đến máy chủ.
- Kéo từ Git.
- Ghi đè các tệp trực tiếp bằng cách kéo / thả bằng windows explorer.
Ở Bước 5 tôi xóa tất cả các tệp khỏi thư mục gốc của trang web .. đây không phải là một việc nên làm. Đó là lý do tôi chuẩn bị cài đặt SynchToy ...
CẬP NHẬT: CẢM ƠN tất cả các phản hồi hữu ích. Tôi không thể chọn câu hỏi nào để đánh dấu câu trả lời - giữa việc sử dụng triển khai web - có vẻ như tôi có một số suggesitons hữu ích:
- Dự án web = toàn bộ trang web được đóng gói thành một DLL duy nhất - đối với tôi, tôi không thể đẩy các bản cập nhật đơn giản - là nhà phát triển đơn độc trong một công ty 50, đôi khi điều này vẫn đơn giản hơn.
- Kéo thẳng từ SCM vào trang web gốc của trang web - ban đầu tôi không làm điều này vì sợ rằng thư mục ẩn SCM của tôi có thể bị lộ, nhưng câu trả lời ở đây đã giúp tôi vượt qua điều đó (mặc dù tôi vẫn không thích có điều đáng lo ngại hơn về việc quên để đảm bảo vẫn còn đúng theo thời gian)
- Sử dụng trang trại web và triển khai một cách có hệ thống đến các nút - đây là giải pháp lý tưởng cho thời gian chết bằng không, đây thực sự là điều tôi quan tâm vì trang web về cơ bản là nguồn doanh thu theo thời gian thực cho công ty của tôi - tôi có thể khó thuyết phục họ gấp đôi chi phí của các máy chủ mặc dù.
-> cuối cùng, việc thực thi lại hiệu trưởng cơ bản cần có một triển khai một lần nhấp cho trang web HOẶC ELSE THOM SOMETHING WRONG có lẽ là điều hữu ích nhất tôi nhận được từ các câu trả lời.
CẬP NHẬT 2: Tôi nghĩ rằng tôi đã quay lại vấn đề này và cập nhật với giải pháp thực tế đã có từ nhiều tháng nay và đang hoạt động hoàn hảo (đối với giải pháp máy chủ web duy nhất của tôi).
Quá trình tôi sử dụng là:
- Thay đổi mã
- Đẩy đến Git
- Máy tính từ xa đến máy chủ
- Kéo từ Git
Chạy tập lệnh bó sau:
cd C: \ Users \ Administrator
% systemroot% \ system32 \ inetsrv \ appcmd.exe dừng trang web "/site.name:Default Trang web"
Tài liệu robocopy \ code \ da \ 1 \ work \ Tree \ LendingTreeWebSite1 c: \ inetpub \ wwwroot / E / XF linksconfig Web.config
% systemroot% \ system32 \ inetsrv \ appcmd.exe trang web bắt đầu "/site.name:Default Web Site"
Như bạn có thể thấy điều này làm giảm trang web, sử dụng robocopy để sao chép thông minh các tệp đã thay đổi sau đó đưa trang web trở lại. Nó thường chạy trong ít hơn 2 giây. Vì lưu lượng truy cập cao nhất trên trang web này là khoảng 2 yêu cầu mỗi giây, thiếu 4 yêu cầu cho mỗi lần cập nhật trang web là chấp nhận được.
Sine Tôi đã thành thạo hơn với Git Tôi đã thấy rằng bốn bước đầu tiên ở trên là "quy trình thủ công" cũng có thể chấp nhận được, mặc dù tôi chắc chắn rằng tôi có thể cuộn toàn bộ mọi thứ vào một cú nhấp chuột nếu tôi muốn.
Tài liệu về AppCmd.exe có ở đây . Các tài liệu cho Robocopy là ở đây .