2016-02-27 20 views
13

Tôi đang di chuyển một tập hợp các bản dựng cụ thể từ dự án Visual Studio Team Service hiện có sang một dự án mới. Thật không may, tôi không thể định vị một cách để di chuyển các định nghĩa xây dựng từ dự án này sang dự án khác. Dường như không có chức năng Xuất/Xuất hoặc cơ chế khác.Làm thế nào tôi có thể sao chép một Visual Studio Team Service Build sang một Dự án mới

Có cách nào để di chuyển chúng mà không cần tạo lại các bản dựng trong dự án mới theo cách thủ công không?

Trả lời

3

Không có cách nào để sao chép hoặc đồng bộ hóa mẫu xác định bản dựng vnext giữa các dự án nhóm. Mẫu định nghĩa xây dựng chỉ dành cho dự án nhóm hiện tại. Vì vậy, bạn cần tạo một mẫu định nghĩa xây dựng cho từng dự án nhóm.

Và cũng đã có một yêu cầu tính năng trong sử dụng giọng nói, bạn có thể bỏ phiếu lên và theo dõi nó

VSO xây dựng vNext: phần xây dựng mẫu giữa các dự án https://visualstudio.uservoice.com/forums/330519-team-services/suggestions/8468566-vso-build-vnext-share-build-templates-between-pro

Tuy nhiên, nó có thể đạt được bằng cách sử dụng API, đây là một simple tool bạn có thể sử dụng. (Cần cùng một bộ sưu tập dự án nhóm)

1

Bạn có thể sử dụng REST API để thực hiện việc này. Có một ví dụ được hiển thị here.

Nó cho thấy làm thế nào để nhận được phản ứng JSON của một định nghĩa xây dựng và một lần nữa bằng cách sử dụng tài liệu tham khảo tương tự để tạo ra một cái mới trong dự án mà bạn mong muốn

2

Bạn có thể làm một cái gì đó như sau:

$project1Url = "http://tfs:8080/tfs/collection/project1/_apis/build/definitions/$($buildId)?api-version=2.0" 
$obj = Invoke-RestMethod -Uri $project1Url -Method Get -ContentType "application/json" -UseDefaultCredentials 

$obj.project = $null 

#TODO: Update all repository/source control info, too. 

$json = ConvertTo-Json $obj -Depth 3 

$project2Url = "http://tfs:8080/tfs/collection/project2/_apis/build/definitions/?api-version=2.0" 
Invoke-RestMethod -Uri $url -Method Post -Body $json -ContentType "application/json" -UseDefaultCredentials 

Ý chính là lấy định nghĩa hiện có từ dự án nguồn (projec1), xóa các mối quan hệ dự án, thiết lập thông tin kho lưu trữ mới khi cần, gửi def mới làm bài (tạo) cho dự án đích (project2).

+0

ví dụ về tải trọng json xây dựng để sửa đổi: http://www.ericksegaar.com/2015/10/16/using-json-via-rest-to-create-build-definitions-in-vso/ – JoeBrockhaus

9

này bây giờ đã có từ bên trong VSTS Xây dựng định nghĩa web UI:

See screenshot here.

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