/ / Jak utworzyć generyczną kompilację i wydanie na VSTS - vsts, vsts-build, vsts-release

Jak utworzyć ogólną kompilację i wydanie na VSTS - vsts, vsts-build, vsts-release

Przyjmując architekturę mikroserwisów, stwierdziliśmy, że mamy wiele projektów o tej samej strukturze.

Projekty .Net i .Net Core w szczególności i większość z nich są publikowane jako Azure App Services (aplikacje internetowe).

Dzisiaj musimy skonfigurować definicję kompilacji i definicję wydania dla każdego projektu / aplikacji.

Czy istnieje sposób, aby mieć tylko jedną definicję kompilacji i jedną definicję wydania, które mogą być wyzwalane przez dowolne sprawdzanie, budowanie konkretnego projektu i tworzenie wydania, które publikuje w określonej usłudze aplikacji?

Dziękuję Ci

Odpowiedzi:

1 dla odpowiedzi № 1

Tak, to możliwe. Można zdefiniować kompilację i wersję, aby oddzielnie budować / wdrażać różne typy projektów.

Załóżmy, że masz dwa projekty w repozytorium git:

root
|___ .git
|___ dotnetProject
|___ dotnetProject.sln
|___ dotnetProject
|___ dotnetProject.csproj
|___ …
|___ dotnetCoreProject
|___ dotnetCoreProject.sln
|___ dotnetCoreProject
|___ dotnetCoreProject.csproj
|___ …

Szczegółowe sety jak poniżej:

  1. Dodaj wszystkie zadania, które musisz zbudować i wdrożyć dla swoich projektów w definicji kompilacji i wydania.
  2. Zdefiniuj dwie zmienne dotnet i dotnetCore z wartością domyślną 0 w definicji kompilacji i wydania oddzielnie.
  3. Ustaw niestandardowy warunek dla zadań, które musisz zbudować / wdrożyć dla różnych typów projektów.

    • Aby wykonać zadania do zbudowania / wdrożenia dla projektu .NET, użyj poniższego warunku niestandardowego: wprowadź opis obrazu tutaj
    • Aby wykonać zadania do zbudowania / wdrożenia dla projektu .NET Core, użyj poniższego warunku niestandardowego: wprowadź opis obrazu tutaj
  4. Wykryj, które projekty są zmieniane dla kompilacji CI, dodając zadanie PowerShell.

    Dodaj zadanie PowerShell na początku zadań i sprawdź, które pliki zostały zmienione przez ostatnie zatwierdzenie. Jeśli projekt .NET został zmieniony, ustaw dotnet zmienna z wartością 1 i utwórz plik dotnet z zawartością 1. Jeśli projekt podstawowy .NET został zmieniony, ustaw zmienną dotnetCore z wartością 1 i utwórz plik dotnetCore z zawartością 1.

    Uwaga: powinieneś także opublikować pliki dotnet i dotnetCore jako artefakty kompilacji, ponieważ należy przeanalizować wartość dla dotnet i dotnetCore zmienne w definicji wydania na podstawie plików.

  5. Zmiana dotnet i dotnetCore wartość zmiennych na podstawie plików dotnet i dotnetCore.

    Na początku definicji wydania dodaj zadanie PowerShell. Aby sprawdzić, czy plik dotnet/dotnetCore w artefaktach budowy. Jeśli tak, zmień powiązaną zmienną na podstawie zawartości plików.