2011-08-17 53 views
5

Ai đó có thể giải thích (tốt hơn so với tài liệu kỹ thuật/msdn) nhà cung cấp tự động chính xác, cách hoạt động và thời điểm sử dụng.Nhà cung cấp tự động trong triển khai web (msdeploy.exe)

Điều này liên quan đến Triển khai web. Tôi đã nhìn thấy rất nhiều tài liệu chỉ định -dest: auto và nó không thực sự có ý nghĩa với tôi.

Nhà cung cấp tự động chỉ định nhà cung cấp ở đích sẽ là giống như nhà cung cấp nguồn.

Ví dụ

msdeploy.exe -verb: đồng bộ -source: appHostConfig = "MySite" -dest: ô tô, computername = Server1

Các nhà cung cấp tự động cho phép bạn tránh việc nhập đường dẫn đầy đủ cho đối số -dest khi đối số đích giống với đối số nguồn . Nó cũng loại bỏ sự cần thiết phải sao chép các tập tin manifest riêng biệt từ một kho lưu trữ hoặc gói.

Nhà cung cấp tự động lấy nguồn mà bạn chỉ định và sử dụng địa chỉ tương ứng trên máy tính đích. Ví dụ: nếu bạn chỉ định appHostConfig = Site1 làm nguồn, đích trên máy tính mục tiêu sẽ là Site1. Điều này rất hữu ích khi bạn muốn đồng bộ hóa một trang web "giống như" với một máy từ xa.

technet docs for auto provider

Ví dụ đó không có ý nghĩa:

msdeploy.exe -verb:sync -source:package=myapp.zip -dest:auto 

Tại sao bạn sẽ bao giờ thiết lập các điểm đến chính xác về nguồn gốc? Điểm là gì? Bạn không chỉ đơn giản là overwiting nguồn với iteslf?

Các tập tin được tạo ra cmd tạo ra từ công bố một gói trong VS2010 tạo ra một cái gì đó như thế này:

"C:\Program Files\IIS\Microsoft Web Deploy V2\\msdeploy.exe" -source:package='MySourcePath' -dest:auto" 

Không tự động có nghĩa là nguồn sẽ chỉ ghi đè lên bản thân? Nhưng nó không, nó thực sự cập nhật trang web IIS (dựa trên các cài đặt trong tệp kê khai)

Tôi đã thử sử dụng gói làm đích và trong trường hợp này nó đã cập nhật gói nguồn chứ không phải trang IIS .

Chất xúc tác cho câu hỏi này là tôi đang triển khai CI và tôi đã luôn sử dụng msbuild/xcopy trong quá khứ. Tôi muốn sử dụng msdeploy ngay bây giờ. Tôi muốn hiểu nó hơn là chỉ cần gọi số myproject.cmd được tạo từ studio trực quan.

Ví dụ: this SO link chỉ định sử dụng nhà cung cấp tự động cho đối số dest.

Cảm ơn

Trả lời

4

Tôi nghĩ bạn đã thực sự tìm ra câu trả lời cho chính mình.

Nếu nguồn là gói và đích là tự động, điều đó có nghĩa là các thành phần được chỉ định bên trong gói sẽ được "giải nén" và được đặt trên máy chủ đích. Trong-source: package -dest: cú pháp tự động, "auto" hiện không có nghĩa là chính gói đó là đích đến. Và, như bạn quan sát, nếu bạn chỉ định một gói làm đích, bất kỳ thứ gì bạn chỉ định cho nguồn sẽ thực sự được đóng gói dưới dạng tệp nén mà sau này bạn có thể sử dụng làm nguồn để triển khai ở nơi khác.

+0

Đoạn thứ 2 - đóng đinh nó. –

+0

Tôi hiểu rằng nguồn sẽ được definted trong trang web, nhưng đối với những gì bao giờ lý do bằng cách nào đó tương đương với bỏ qua các thuộc tính -ignore quy định trong lệnh. Tôi đang cố gắng để làm điều này bởi vì tôi muốn nói nội dung thư mục ảo được bảo vệ bởi xác thực của ứng dụng chính. Tôi đã đăng câu hỏi của mình ở đây: http://stackoverflow.com/questions/23548022/nested-virtual-directory-deleted-on-msdeploy –

Các vấn đề liên quan