7

Chúng tôi có nhiều môi trường tích hợp liên tục của Hudson được thiết lập với các bản dựng và thử nghiệm tự động, tuy nhiên chúng tôi không thực hiện bất kỳ triển khai tự động nào để kiểm tra môi trường.Triển khai ứng dụng web ASP.NET từ máy chủ Hudson Build/CI

Tôi đã tự hỏi các nhóm khác đang triển khai ứng dụng web ASP.NET của họ như thế nào. Gói xây dựng của chúng tôi tạo ra các tạo phẩm của một bản dựng với một số kịch bản lệnh dừng/khởi động IIS và sau đó chúng ta phải truy cập vào mỗi máy chủ và chạy trình cài đặt để cài đặt ứng dụng web.

Điều này đang trở thành một nút cổ chai trong quá trình của chúng tôi và tôi đang tìm kiếm các đề xuất để đơn giản hóa và/hoặc tự động hóa quy trình mà không phải đăng nhập vào từng máy chủ để cài đặt phiên bản mới nhất.

+1

Bạn đã từng sử dụng MSDeploy và Hudson chưa? Nếu vậy, bạn có thể chia sẻ lượt thích, không thích, mẹo cấu hình không? –

Trả lời

4

Nếu bạn đang sử dụng môi trường dựa trên Unix/Linux, bạn có thể muốn xem Fabric hoặc Capistrano. Chúng cho phép triển khai tự động các ứng dụng web.

Edit:

Nếu bạn đang ở trên Windows, bạn có thể muốn kiểm tra Web Deployment Tool for IIS. Điều này dường như vẫn ở trong giai đoạn "Xem trước công nghệ", nhưng có thể phù hợp với bạn - tôi không có kinh nghiệm cá nhân với bản thân.

+0

Thật không may, chúng tôi gần như hoàn toàn là một cửa hàng Windows. – jamesaharvey

+1

Khi tôi đã làm rất nhiều phát triển ASP.NET, chúng tôi đã viết một số mã tùy chỉnh đằng sau CruiseControl.NET để làm điều này.Bạn có thể muốn Google "Công cụ triển khai Web cho IIS" - Tôi không chắc chắn về trạng thái của dự án Microsoft này nhưng tôi biết nó cuối cùng sẽ làm những gì bạn muốn. –

0

Tôi chưa bao giờ sử dụng nhưng có vẻ như Cargo có thể là một giải pháp.

1

Bạn đang tìm cách triển khai một môi trường đơn lẻ hay bạn muốn tự động triển khai cho tất cả môi trường của mình?

Nếu bạn đang làm việc đó với một môi trường đơn giản, việc viết kịch bản này sẽ tự động xảy ra tự động từ máy chủ CI của bạn, tự động sau mỗi lần xây dựng hoặc hàng đêm hoặc thậm chí theo yêu cầu.

Nhưng lý tưởng bạn muốn sử dụng cùng một tự động triển khai trên tất cả các môi trường của mình, từ kiểm tra đến sản xuất. Trong trường hợp đó, có thể có ý nghĩa khi nói chuyện với người Ops của bạn và tìm hiểu cách họ đang triển khai và phát triển một số tập lệnh phổ biến. Khi chúng tôi (Urbancode/AnthilPro) nói về deployment automation đó thường là những gì chúng tôi đang nói về và những gì chúng tôi khuyên bạn nên cho khách hàng của chúng tôi.

Nếu bạn cần thuyết phục ai đó thực hiện khoản đầu tư này là đáng giá, bạn có thể tìm thấy tài liệu này Build & Deployment Automation for the Lean Economy (pdf; yêu cầu đăng ký) hữu ích. Trong đó, chúng tôi sử dụng kỹ thuật Lean của Value Stream Mapping để minh họa lý do tại sao tự động hóa các triển khai của bạn là một chiến thắng lớn cho nhóm. Khi bạn nhận ra có bao nhiêu "chất thải" có trong việc triển khai thủ công loại bạn mô tả đầu tư vào tự động hóa là không có trí tuệ.

Jtf

+0

Chúng tôi có hơn 10 môi trường thử nghiệm và hơn 100 máy chủ sản xuất mà chúng tôi đã triển khai theo cách thủ công hiện tại. – jamesaharvey

+0

Yikes! Vâng, suy nghĩ của tất cả các thời gian bạn sẽ nhận được trở lại từ tự động hóa! :) Tôi khuyên bạn nên chỉnh sửa câu hỏi để mô tả các công nghệ bạn đang sử dụng trên máy chủ của mình: IIS vs Apache vs JBoss, PHP vs .NET vs Java, v.v. Tôi nghĩ bạn sẽ nhận được câu trả lời tốt hơn với các chi tiết bổ sung đó . –

0

Cách dễ dàng cũng được sử dụng Hudson/jenkins cũng vậy. Tôi sử dụng một deploy.bat đơn giản được gọi bằng lệnh batch theo jenkins build.

Các kịch bản trông somthing như thế này:

C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\msbuild.exe /p:DeployOnBuild=true /p:DeployTarget=MSDeployPublish /p:MSDeployPublishMethod=WMSVC /p:MSDeployServiceUrl=https://server:8172/msdeploy.axd /p:AllowUntrustedCertificate=true /p:DeployIisAppPath="Default Web Site" /p:Username=serverinstance\user /p:Password=somepassword /p:VisualStudioVersion=11.0 

Sau đó, bạn cài đặt IIS quá cho phép kết nối từ xa. Và bạn tốt quá đi!

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