Tôi là Người quản lý chương trình cho các tính năng tự động hóa xây dựng của TFS, vì vậy tôi muốn nhận xét về câu hỏi này. Chúng tôi đã không thay thế MSBuild bằng Windows Workflow (WF). Chúng tôi vẫn dựa rất nhiều vào MSBuild như một công cụ xây dựng cốt lõi, đó là năng lực cốt lõi của nó. Bạn sẽ thấy rằng có rất nhiều nhiệm vụ vẫn dễ dàng và hiệu quả nhất với MSBuild.
Chúng tôi đã giới thiệu WF như một cách để cung cấp một lớp dàn nhạc cấp cao hơn trên công cụ xây dựng cốt lõi (là MSBuild trong các mẫu quy trình xây dựng mà chúng tôi đưa vào hộp). Nó làm cho nó có thể làm những việc như phân phối một quá trình trên nhiều máy và để buộc quá trình vào các quy trình dựa trên quy trình làm việc khác.
Vì vậy, khi nào bạn nên tự động hóa với MSBuild và khi nào bạn nên tự động với WF? Dưới đây là hướng dẫn chung của tôi về vấn đề này:
- Nếu công việc đòi hỏi kiến thức về xây dựng đầu vào hoặc đầu ra cụ thể, sử dụng MSBuild
- Nếu nhiệm vụ là một cái gì đó bạn cần phải xảy ra khi bạn xây dựng trong Visual Studio, sử dụng MSBuild
- Nếu nhiệm vụ là một cái gì đó bạn chỉ cần xảy ra khi bạn xây dựng trên máy chủ xây dựng, sử dụng WF trừ khi nó đòi hỏi kiến thức về xây dựng đầu vào cụ thể/đầu ra
khi sử dụng MSBuild, hãy nhớ rằng bạn có thể tùy chỉnh các file dự án của bạn trực tiếp (bằng cách dỡ chúng và t hen chỉnh sửa chúng trong Visual Studio), hoặc bạn có thể tạo các tệp .targets tuỳ chỉnh và nhập chúng vào các dự án riêng lẻ của bạn. Cách tiếp cận thứ hai là hữu ích cho các chức năng phổ biến cho nhiều dự án để tránh duy trì nhiều bản sao.
Khi sử dụng WF, hãy nhớ rằng bạn có thể viết hoạt động mã cho các tác vụ cấp thấp nhưng bạn cũng có thể soạn các tác vụ cấp cao hơn bằng XAML thẳng. Chúng tôi đang thực sự làm việc trên một phiên bản của mẫu quy trình xây dựng mặc định được gửi đi với TFS 2010 cung cấp cho bạn cái nhìn đơn giản hơn, ít chi tiết hơn về toàn bộ quá trình bằng cách sử dụng một tập hợp các hoạt động XAML được soạn thảo.
Nguồn
2010-06-09 14:28:46
Quá trình tạo luồng công việc là di sản ngay bây giờ :) – paulm
Yup, chắc chắn là vậy. Tôi muốn Node hoặc .NET Core đã trở thành một lựa chọn khả thi khi chúng tôi chuyển sang WF. –