2012-01-11 30 views
6

Tôi đã thực hiện rất nhiều nghiên cứu về chủ đề này nhưng không thể tìm thấy giải pháp cuối để kết thúc để triển khai "xây dựng một lần và triển khai nhiều" bằng TFS 2010.TFS 2010 và "xây dựng một lần, triển khai nhiều"

Về cơ bản những gì tôi đang nghĩ đến là xây dựng một giải pháp với nhiều dự án được triển khai (dự án ứng dụng web + dự án cơ sở dữ liệu + dịch vụ web + báo cáo), đặt đầu ra vào thư mục thả và từ đó dựa trên chất lượng và phiên bản tự quyết định triển khai tất cả các dự án vào các môi trường khác nhau (qa, ua, dàn dựng, sản xuất).

Tôi biết rằng tôi có thể sửa đổi mẫu quy trình xây dựng để triển khai nhiều dự án ngay sau khi xây dựng, chẳng hạn như "Xây dựng chính và triển khai đến QA", "Xây dựng chính và triển khai lên UA", v.v., có thể trên changeset # hoặc nhãn nhưng điều này có nghĩa là xây dựng mọi lúc. Điều tôi muốn giống như một bảng điều khiển cho phép nhóm triển khai triển khai xây dựng chính xác đã được thử nghiệm trong QA, trên môi trường UA và sau khi nhận được ánh sáng xanh để triển khai nó trên sản xuất. Tất nhiên điều đó có nghĩa là các tệp cấu hình phải được cập nhật tương ứng tại thời điểm triển khai.

Tôi cũng đang xem xét định nghĩa một số định nghĩa xây dựng sẽ không xây dựng bất cứ thứ gì, thay vào đó nó sẽ triển khai một phiên bản hiện có (dựa trên phiên bản) cho một môi trường cụ thể, nhưng có vẻ hơi lạ.

Trả lời

2

Đó là gần đủ những gì chúng tôi sử dụng, chúng tôi xây dựng các mẫu để xây dựng thực tế và triển khai các mẫu triển khai đầu ra cho các máy khác nhau (chúng có thể được đặt để chạy vào thời gian đã lên lịch, như giảm hàng đêm xuống QA, v.v. theo yêu cầu như UAT/live). Các mẫu được sửa đổi cao từ các bản mẫu mặc định, chúng tôi chỉ trích các chi tiết từ các bản dựng (hoặc trong một số trường hợp bạn có thể lấy các bản dựng mới nhất như môi trường thử nghiệm khói) như vị trí thả.

Bạn sẽ cần một tác nhân trên máy mà bạn đang triển khai để có thể xử lý việc triển khai, nhưng bạn có thể cài đặt bao nhiêu tác nhân tùy thích.

Ví dụ: bạn có thể có một bản dựng xây dựng ứng dụng của bạn thành một exe, và một mẫu lấy exe và chạy nó trên đích của bạn (sử dụng InvokeProcess). Nếu bạn cần triển khai cùng một thứ với môi trường khác, bạn chỉ cần sử dụng cùng một vị trí thả, viola!

Những gì bạn có không có vẻ lạ chút nào, có ý nghĩa để xử lý theo cách đó.

+0

Được rồi, tôi vẫn thấy lạ khi xác định một bản dựng không xây dựng, nhưng miễn là tôi không đơn độc trên con đường này, tôi sẽ đi theo cách này. Một câu hỏi nữa, Làm thế nào để bạn chọn đúng/mong muốn xây dựng? Dựa trên phiên bản bạn chọn đúng thư mục tại vị trí "xây dựng thả"? Cảm ơn bạn đã trả lời! –

+0

Chúng tôi chỉ giữ lại các bản dựng mà chúng tôi cần tránh các vấn đề về dung lượng đĩa (vì vậy, bất kỳ vấn đề nào của QA), sau đó chuyển thư mục thả từ bản dựng "xây dựng") vào một đối số trong bản dựng cho định nghĩa triển khai được xác định trong mẫu, được chuyển đến tác vụ InvokeProcess để chạy trên tác nhân/máy chủ mong muốn. –

+0

Điều đó có vẻ đúng. Cảm ơn một lần nữa cho bạn câu trả lời –

0

Câu trả lời của Daniel là cách khá tiêu chuẩn để xây dựng một hệ thống như TeamBuild để xử lý các triển khai. Nó cảm thấy một chút kỳ lạ bởi vì bạn đang uốn một công cụ đến một mục đích khác. Nó chắc chắn có thể làm việc mặc dù.

Cách tiếp cận khác là lấy một công cụ triển khai thuần túy tích hợp với TFS/TeamBuild. Việc triển khai trên các môi trường sẽ là tự nhiên, nhưng sau đó bạn có hai công cụ để quản lý.

+0

Tôi đã tự hỏi tại sao Định nghĩa triển khai với mẫu triển khai của riêng họ không phải là một phần của TFS 2010. Nó sẽ không phải là một "quá khó để thêm tính năng". Và một bảng điều khiển để quản lý mọi thứ ... –

+0

Tôi sẽ không bị sốc khi nhìn thấy một phiên bản cơ bản của creep này, nhưng một khi bạn bắt đầu nhìn vào triển khai kiểu sản xuất, bạn có sự khác biệt về trách nhiệm, giới thiệu cân bằng tải và các phần cơ sở hạ tầng khác, phối hợp với các dự án khác, v.v ... Những thứ đó sẽ đi xa hơn một chút so với TFS trung tâm của nhà phát triển. – EricMinick

1

Tôi biết đây là phản hồi trễ, nhưng mọi thứ đã thay đổi kể từ năm 2012. Microsoft hiện có Release Management offering được thiết kế từ đầu để cho phép "xây dựng một lần, triển khai nhiều". Sửa đổi các mẫu quá trình xây dựng luôn là một nỗi đau.

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