2008-11-19 11 views
9

Công ty của tôi đang chuyển từ svn (và các sản phẩm nguồn mở) sang TFS (và các sản phẩm MS). Chúng tôi đã sử dụng maven trong quá khứ để đóng gói các thành phần dựng sẵn vào các gói đã sẵn sàng phát hành. Có một công cụ trong TFS hoặc MS-Land mạnh mẽ như maven để làm điều này?Công cụ nào tương đương với Maven trong TFS (hoặc MS-land)?

Tôi đã xem msbuild, nhưng có vẻ hơi kém mạnh mẽ hơn Maven.

+0

TFS hiện hỗ trợ Quản lý gói Maven: https://stackoverflow.com/a/44119042/7862382 –

Trả lời

4

Không có gì giống như nó, MSBuild không giống như Maven, MSBuild giống như Ant. Tất nhiên nếu Ivy có thể làm Ant nhiều hơn "Maven-like", ai đó có thể tạo ra thứ gì đó giống như Ivy nhưng cho MSBuild và làm cho nó giống "Maven-like" hơn.

Có một nỗ lực để tạo ra một cái gì đó như maven gọi là NMaven nhưng bây giờ nó là một dự án đã chết. Các nỗ lực khác là NPandayByldan. Nhưng tôi không chắc chắn về trạng thái của 2 dự án đó.

+1

Dường như NPanday (http://www.codeplex.com/npanday) gần đây đã đạt được bản phát hành 1.0, có lẽ bạn nên dùng thử phiên bản –

+0

NPanday đã ngừng hoạt động vào tháng 2 năm 2015: http://incubator.apache.org/projects/ index.html # npanday –

3

Bạn sẽ muốn xem Team Build là một phần của TFS và MsBuild, mà Team Build sử dụng để tự động hóa quá trình xây dựng. Với hai cái này cùng nhau, bạn có thể tạo ra một quy trình tự động hóa xây dựng khá tốt đẹp để tạo ra các hình ảnh iso, tài liệu, và chạy thử nghiệm đơn vị ví dụ.

+0

So sánh với Paket như thế nào? –

+0

@JanusTroelsen Bạn đang nói về Paket của HashiCorp? –

+0

Tôi đang nói về [this] (https://fsprojects.github.io/Paket/) –

7

Trong ngăn xếp TFS/Microsoft chính thức, MSBuild là ngôn ngữ xây dựng. Tuy nhiên, điều này giống như Ant (hoặc Nant) thay vì Maven - nghĩa là ngôn ngữ kịch bản dựa trên XML được thiết kế để xây dựng phần mềm thay vì sử dụng phương pháp "quy ước về cấu hình" của Maven. MSBuild không có các tính năng quản lý phụ thuộc khá độc đáo với Maven.

Team Foundation Build dựa trên MSBuild tuy nhiên nó đặt xuống một khuôn khổ hoạt động trong các mục tiêu được xác định trước (tương tự như mục tiêu trong Maven nói). Các hoạt động này bao gồm các mục như tạo số bản dựng, gắn nhãn mã, tải xuống mã, xây dựng các giải pháp đã được xác định, chạy kiểm tra đơn vị, xuất kết quả trở lại TFS và đối phó kết quả của việc xây dựng với một mạng chia sẻ để triển khai sau . Bạn có thể dễ dàng tạo một Team Foundation Build mới trong giao diện người dùng Visual Studio và sau đó tùy chỉnh nó bằng cách ghi đè một số hook được định nghĩa trước khác nhau được gọi trong quá trình xây dựng mặc định bằng cách chỉnh sửa tệp TFSBuild.proj đã được tạo cho bạn xây dựng. Trong một số cách bạn có thể nghĩ về tệp TFSBuild.proj giống như tệp POM Maven - nhưng chúng rất khác nhau.

Hệ thống xây dựng trong Team Foundation Build 2008 là một hệ thống tốt - mặc dù rất được định hướng XML. Tuy nhiên, nếu bạn cảm thấy thoải mái với cấu hình Maven thì bạn sẽ hài lòng với cấu hình dựa trên XML của Team Foundation Build. TFS Build cung cấp các tính năng như lập kế hoạch xây dựng, tích hợp liên tục, quản lý lưu giữ, vv Bạn cũng có thể dễ dàng gọi các bản dựng Ant hiện có bằng cách sử dụng miễn phí (và mã nguồn mở) build extensions từ công ty tôi làm việc (Teamprise).

Điều thú vị là chúng tôi đang thực sự tích hợp Maven2 với Team Foundation Build. Chúng tôi có một nhà cung cấp SCM Maven2 phát triển nói chuyện với TFS và chúng tôi hiện đang làm việc trên Team Build Extension để cho phép bạn gọi Maven2 được xây dựng dễ dàng từ Team Foundation Build. Nếu bạn muốn gắn bó với Maven để xây dựng và kiểm tra tích hợp Maven của chúng tôi khi nó có sẵn thì hãy thả cho tôi một dòng ([email protected]).

Tôi muốn được quan tâm để nghe nếu bạn đang sử dụng Maven để xây dựng .NET hoặc các dự án Java (hay cái gì khác hoặc kết hợp tất cả mọi thứ)

Hy vọng rằng sẽ giúp,

Martin.

+0

Tính năng tích hợp Maven của bạn có sẵn công khai ngay bây giờ hoặc bị từ chối không? –

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