2016-02-27 9 views
13

Przenoszę konkretny zestaw kompilacji z istniejącego projektu usługi programu Visual Studio Team Service do nowego. Niestety nie mogę znaleźć sposobu na migrację definicji kompilacji z jednego projektu do innego. Wygląda na to, że nie ma funkcji importu/eksportu lub innego mechanizmu.Jak skopiować kompilację usługi Visual Studio Team Service do nowego projektu

Czy istnieje sposób na ich przeniesienie bez ręcznego odtwarzania kompilacji w nowym projekcie?

Odpowiedz

3

Nie ma możliwości skopiowania lub zsynchronizowania szablonu definicji kompilacji vnext między projektami zespołowymi. Szablon definicji kompilacji dotyczy tylko obecnego projektu zespołu. Musisz więc utworzyć szablon definicji kompilacji dla każdego projektu zespołu.

A także pojawiło się żądanie cechą użytkownik głos można głosować i monitorować to

VSO budować vnext: akcja budować szablony między projektami https://visualstudio.uservoice.com/forums/330519-team-services/suggestions/8468566-vso-build-vnext-share-build-templates-between-pro

Można to jednak osiągnąć za pomocą interfejsu API, tutaj można użyć simple tool. (Potrzebujesz w tej samej kolekcji projektów zespołu)

1

Możesz użyć interfejsu API REST, aby to wykonać. Istnieje przykład pokazany here.

To pokazuje, jak uzyskać odpowiedź JSON definicji kompilacji i ponownie przy użyciu tego samego odniesienia do nowego w projekcie pragnienie

2

Można zrobić coś jak następuje:

$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 

Istotą jest pobranie istniejącej definicji z projektu źródłowego (rzut 1), wyczyszczenie powiązań projektu, ustawienie nowych informacji o repozytorium w razie potrzeby, wysłanie nowej def jako post (tworzenie) do projektu docelowego (project2).

+0

przykład pakietu json ładowności do modyfikacji: http://www.ericksegaar.com/2015/10/16/using-json-via-rest-to-create-build-definitions-in-vso/ – JoeBrockhaus

9

ta jest obecnie dostępna w VSTS Budowanie definicji z sieci ui:

See screenshot here.

Powiązane problemy