Używamy automatycznych kompilacji TFS 2010 do ciągłej integracji, które są uruchamiane przy każdym odprawie. Niedawno zmieniłem szablon procesu, aby równolegle budować Debugowanie i wydawanie innym agentom kompilacji, a nie sekwencyjnie na tym samym agencie.Po przejściu do budowania różnych smaków równolegle, z przerwami obserwujemy awarie kompilacji spowodowane awarią CreateLabel.
Od tego czasu zauważamy awarię kompilacji z powodu następującego błędu. Zdarza się to na tyle często, że jest nie do przyjęcia (co 5 do 10 budowy).
„TF203059: Etykieta już istnieje Ponów polecenie z inną nazwą etykiety.”
I nie były w stanie dowiedzieć się specyficzny wzór, który powoduje tak się stało. Czy ktoś już kiedyś to widział? Czy należy wprowadzić zmianę w działaniu Utwórz etykietę w procesie kompilacji?
To w dużym stopniu zależy od tego, w jaki sposób dostosowałeś swój szablon procesu kompilacji. Czy możesz opisać trochę bliżej, jak to ustawiłeś? – pantelif
Cześć pantelif, dziękuję za odpowiedź. Użyłem szablonu procesu kompilacji udostępnionego tutaj jako przykładu: http://blogs.msdn.com/b/jimlamb/archive/2010/09/14/parallelized-builds-with-tfs2010.aspx – LiliaP
Jeszcze kilka szczegółów: dodałem przepływ sterowania ParallelForEach do sekwencji procesu budowania i umieścił w nim cały blok RunOnAgent. Czynność CreateLabel była częścią bloku RunOnAgent, więc teraz jest wykonywana dla każdego smaku kompilacji. Etykieta zostanie ustawiona na liczbę kompilacji w formacie $ (Date: yyyy.MM.dd) $ (Rev: .rr). W rezultacie zarówno debugowanie, jak i wydawanie będą korzystać z tej samej etykiety. Nie powoduje to problemów przez większość czasu, ale otrzymujemy przerywane awarie kompilacji. – LiliaP