Używanie i opracowywanie czynności niestandardowego procesu kompilacji
Po utworzeniu niestandardowego szablonu procesu kompilacji można wdrożyć własną logikę biznesową za pomocą wbudowanych działań programu Team Foundation Build (TFBuild) oraz instrukcji programu Windows Workflow.Jeśli narzędzia te nie są wystarczające, można użyć działań od osób trzecich lub w razie potrzeby zaimplementować własny kod środowiska .NET Framework w CodeActivity.
|
Utwórz niestandardowe działanie procesu kompilacji
Ważne |
---|
Przed rozpoczęciem należy pobrać kopię szablonu i umieścić go w projekcie kodu.Jeśli użytkownik jeszcze nie wykonywał tej czynności, tutaj można sprawdzić, jak to zrobić. Należy opracować działania procesu kompilacji w tym samym rozwiązaniu co szablony procesu kompilacji.Gdy pracuje się w ten sposób, gdy trzeba użyć jednego z działań w szablonie procesu, jest ono dostępne w przyborniku projektanta przepływu pracy.Należy jednak zachować kod źródłowy swoich działań w projekcie osobnego kodu niż ten, który zawiera szablony procesu kompilacji. |
Dodaj nowy język C# lub projekt kodu języka Visual Basic do rozwiązania zawierającego projekt kodu szablonu procesu kompilacji.
Dodaj następujące odwołania do nowego projektu kodu:
Jak dodać te odwołania do projektu kodu?
Zapisz projekt kodu.
Dodaj nowe działanie do projektu.
Wdróż swój kod CodeActivity Na przykład Hello.cs:
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Activities; using Microsoft.TeamFoundation.Build.Workflow.Activities; using Microsoft.TeamFoundation.Build.Client; using Microsoft.TeamFoundation.Build.Workflow.Tracking; namespace BuildProcessSource { // enable the build process template to load the activity [BuildActivity(HostEnvironmentOption.All)] // keep the internal activity operations from appearing in the log [ActivityTracking(ActivityTrackingOption.ActivityOnly)] public sealed class Hello : CodeActivity { // Define an activity input argument of type string public InArgument<string> SayHelloTo { get; set; } // If your activity returns a value, derive from CodeActivity<TResult> // and return the value from the Execute method. protected override void Execute(CodeActivityContext context) { // Obtain the runtime value of the Text input argument string text = context.GetValue(this.SayHelloTo); // Add our default value if we did not get one if (text == null || text == "") { text = "World"; } // Write the message to the log context.TrackBuildWarning("Hello " + text, BuildMessageImportance.High); } } }
Nie jest potrzebny plik Activity1.xaml, więc można go usunąć.
Kompiluj rozwiązanie w programie Visual Studio (klawiatura: Ctrl + Shift + B).
Kiedy skończysz, rozwiązanie powinno wyglądać następująco:
Edytuj szablon procesu kompilacji
Zmodyfikuj szablon procesu kompilacji w rozwiązaniu, przeciągając do niego działalności.Po dodaniu działania do szablonu, ustaw jego właściwości (klawiatura: F4).
Na zakończenie zapisz szablon.
Załaduj niestandardowy proces kompilacji
Przed zdefiniowaniem kompilacji, która używa Twojego niestandardowego szablonu procesu kompilacji i aktywności, należy je załadować i włączyć.
Załaduj i włącz niestandardowy proces kompilacji w projekt zespołowy TFVC
Załaduj i włącz niestandardowy proces kompilacji w projekt zespołowy Git
Załaduj niestandardowy proces kompilacji do projektu zespołowego TFVC
W projekcie zespołowym TFVC :
Upewnij się, że rozwiązanie zostało wbudowane (klawiatura: Ctrl + Shift + B).
Podłącz (klawiatura: Ctrl + 0, C) do projektu zespołowego, gdzie planujesz przechowywać źródło procesu kompilacji.
Z Eksploratora kontroli źródła dodaj elementy do folderu, który zawiera działania projektu kodu.
Przejdź do folderu, w którym znajduje się plik .dll i zaznacz go.Na przykład C:\Users\YourName\Source\Workspaces\FabrikamTFVC\BuildProcessTemplates\BuildProcessSource\Source\bin\Debug.
Zakończ proces, aby dodać plik.
Zaewidencjonuj zmiany.
Załaduj niestandardowy proces kompilacji do projektu zespołowego Git
W projekcie zespołowym Git :
Ważne:
Przechowywanie plików binarnych (szczególnie wielu poprawek do dużych plików) może nadmiernie powiększyć repozytorium Git.Zaleca się, aby przechowywać swoje pliki binarne niestandardowego procesu kompilacji w repozytorium odseparowanym od kodu, z którego skompilowano aplikację.Można albo utworzyć oddzielny projekt zespołowy dla tego celu, albo utworzyć dodatkowe repozytorium w istniejącym projekcie zespołowym.
Pliki binarne muszą być przechowywane w podfolderze w repozytorium Git.Jeśli użytkownik spróbuje użyć plików binarnych w folderze głównym, może zostać zablokowany przez komunikat o błędzie wskazujący, że nie znaleziono gałęzi git.
Upewnij się, że rozwiązanie zostało wbudowane (klawiatura: Ctrl + Shift + B).
Podłącz (klawiatura: Ctrl + 0, C) do projektu zespołowego, gdzie planujesz przechowywać źródło procesu kompilacji.
Otwórz wiersz polecenia Git.
Pyt.: Nie mogę otworzyć wiersza polecenia. Co mam zrobić?Odp.:Włącz wiersz polecenia Git.
Użyj wiersza polecenia Git, aby dodać plik .dll.Na przykład:
cd c:\users\YourName\source\repos\BuildProcesses\BuildProcessSource\Source\bin\Debug git add Source.dll -f
Zatwierdź zmiany.
Synchronizacja lub pchanie zatwierdzenia.
Włącz niestandardowy proces kompilacji
Zanim będzie można uruchomić proces kompilacji niestandardowej, należy wskazać kontrolera kompilacji plikom binarnym przesłanym do TFS i wybrać szablon procesu kompilacji w definicji kompilacji.
Na stronie Kompilacje (klawiatura: Ctrl + 0, B) wybierz Akcje, a następnie Zarządzaj kontrolerami kompilacji.
W oknie dialogowym Zarządzanie kontrolerami kompilacji podświetl kontrolera, którego używasz do uruchamiania tego procesu kompilacji, a następnie wybierz polecenie Właściwości.
Określ ścieżkę kontroli wersji do zestawów niestandardowych.
Przejdź do folderu będącego elementem nadrzędnym folderu, do którego został załadowany proces kompilacji w powyższych krokach.
Przykład TFVC: $/FabrikamTFVC/BuildProcessTemplates/BuildProcessSource/Source/bin/Debug
Przykład Git: BuildProcessSource/Source/Bin/Debug
System automatycznie konwertuje wartość wprowadzoną w ścieżce vstfs.Na przykład: vstfs:///Git/VersionedItem/FabrikamGit/BuildProcesses/master/BuildProcessSource/Source/Bin/Debug.
Jeśli jeszcze tego nie zrobiono, należy utworzyć lub zmodyfikować definicję kompilacji i wybrać niestandardowy szablon procesu kompilacji.
Uruchom kompilację.
Kolejkowanie kompilacji.Wynik powinien wyglądać mniej więcej tak:
Pytania i odpowiedzi
Pyt.: System zablokował mnie, ponieważ nie mam uprawnień.Jak sobie z tym poradzić?
Odp.: Uprawnienia serwera programu Team Foundation Server
Pyt.: Jak dodać odwołania, które są potrzebne do pracy z przepływem pracy w programie TFBuild?
Odp.: Użyj Menadżera odwołań, aby dodać odwołania do
Wyświetl odwołania do projektu kodu i otwórz Menadżera odwołań.
Przejdź do C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE\ReferenceAssemblies\v2.0, a następnie wybierz i dodaj:
Pyt.: Co jest przyczyną błędów w moim niestandardowym procesie kompilacji?
Odp.:Typowe przyczyny błędów.
Pyt.: Co to jest Windows Workflow Foundation?Jak z tego korzystać?
A:Windows Workflow Foundation.
Pyt.: Gdzie można dowiedzieć się więcej o wbudowanych działaniach?
Odp.:Team Foundation Build — działania
Pyt.: Gdzie można uzyskać szablony procesu kompilacji, działania przepływu pracy i skrypty?
A:Community TFS Build Extensions
Pyt.: Gdzie można dowiedzieć się więcej o tworzeniu niestandardowych procesów kompilacji?
A:Curated answer: Customize your Team Foundation Build process