Azure Pipelines — aktualizacja sprintu 192

Funkcje

Nowe wyrażenia warunkowe YAML

Pisanie wyrażeń warunkowych w plikach YAML stało się łatwiejsze dzięki użyciu wyrażeń ${{ else }} i ${{ elseif }}. Poniżej przedstawiono przykłady używania tych wyrażeń w plikach potoków YAML.

steps:
- script: tool
  env:
    ${{ if parameters.debug }}:
      TOOL_DEBUG: true
      TOOL_DEBUG_DIR: _dbg
    ${{ else }}:
      TOOL_DEBUG: false
      TOOL_DEBUG_DIR: _dbg
variables:
  ${{ if eq(parameters.os, 'win') }}:
    testsFolder: windows
  ${{ elseif eq(parameters.os, 'linux') }}:
    testsFolder: linux
  ${{ else }}:
    testsFolder: mac

Obsługa symboli wieloznacznych w filtrach ścieżek

Symbole wieloznaczne mogą być używane podczas określania gałęzi włączających i wykluczających wyzwalacze ciągłej integracji lub żądania ściągnięcia w pliku YAML potoku. Nie można ich jednak używać podczas określania filtrów ścieżek. Na przykład nie można uwzględnić wszystkich ścieżek, które pasują do src/app/**/myapp*. Zostało to wskazane jako niedogodności dla kilku klientów. Ta aktualizacja wypełnia tę lukę. Teraz możesz użyć symboli wieloznacznych (**, *, lub ?) podczas określania filtrów ścieżek.

Obsługa wielu stanów w usłudze Bitbucket

Usługa Azure Pipelines integruje się z repozytoriami Bitbucket i obsługuje wyzwalacze CI oraz PR. Można skonfigurować wiele potoków z jednego repozytorium Bitbucket. Jednak po zakończeniu tych potoków w usłudze Bitbucket widoczny był tylko jeden status. Wysłuchaliśmy opinii Społeczności Deweloperów proszącej o możliwość wyświetlenia stanu każdej pipeline oddzielnie w usłudze Bitbucket. Dzięki tej aktualizacji zaktualizowaliśmy wywołania interfejsu API do usługi Bitbucket i przekazaliśmy dodatkowe informacje o nazwie potoku.

stan kompilacji

Zezwalanie współpracownikom na pomijanie komentarzy PR przed weryfikacją kompilacji.

W przypadku korzystania z usługi Azure Pipelines z repozytoriami GitHub zalecamy, aby nie uruchamiać automatycznie potoku walidacji PR dla wkładów otrzymanych z forka repozytorium. Najlepszym rozwiązaniem jest najpierw przejrzenie zmiany przez jednego ze współpracowników repozytorium, a następnie dodanie komentarza do pull requesta w celu wyzwolenia potoku. Te ustawienia można skonfigurować, wybierając menu Wyzwalacze (dla potoków YAML) lub kartę Wyzwalacze (dla klasycznych potoków kompilacji) w edytorze internetowym potoku. Zamiast wymagać, aby każdy pull request z rozwidlenia był najpierw przeglądany przez członka zespołu, można również wymusić te zasady tylko na kontrybucjach pochodzących od osób spoza zespołu.

Dzięki tej aktualizacji możesz pominąć szukanie komentarza do PR dla wkładów otrzymanych od dowolnego współautora. Jako osoba spoza zespołu, tworząc fork i wysyłając pull request do repozytorium głównego, nie jesteś uznawany za kontrybutora do tego repozytorium, dopóki twój pull request nie zostanie scalony. Gdy twój pull request zostanie scalony, będziesz uznany za kontrybutora. Po wybraniu nowej opcji pokazanej poniżej, gdy osoba spoza zespołu po raz pierwszy przesyła pull request z rozwidlenia, ktoś w twoim zespole będzie musiał przejrzeć ten pull request i dodać komentarz, aby wyzwolić pipeline. Jednak po scaleniu pull request, wszelkie dalsze kontrybucje dokonane przez osoby spoza zespołu będą bezpośrednio wyzwalać pipeline bez oczekiwania na komentarz w pull request.

Wymagaj komentarza członka zespołu przed budowaniem pull requestu

System Windows Server 2022 z programem Visual Studio 2022 jest teraz dostępny na agentach hostowanych przez firmę Microsoft (wersja zapoznawcza)

Systemy Windows Server 2022 i Visual Studio Enterprise 2022 (wersja zapoznawcza ) są teraz dostępne w wersji zapoznawczej dla agentów hostowanych przez firmę Microsoft. Możesz go używać, traktując windows-2022 jako obraz w swoim procesie.

pool:
  vmImage: 'windows-2022'

steps:
- task: NuGetToolInstaller@1
- task: NuGetCommand@2
  inputs:
    restoreSolution: '**/*.sln'
- task: VSBuild@1 # Visual Studio 2022 build
  inputs:
    solution: '**/*.sln'
    msbuildArgs: '/p:DeployOnBuild=true /p:WebPublishMethod=Package /p:PackageAsSingleFile=true /p:SkipInvalidConfigurations=true /p:DesktopBuildPackageLocation="$(build.artifactStagingDirectory)\WebApp.zip" /p:DeployIisAppPath="Default Web Site"'
    platform: 'Any CPU'
    configuration: 'Release'

Jeśli odwołujesz się do najnowszej puli systemu Windows w potokach YAML, nadal będzie to oznaczać windows-2019, a nie windows-2022, podczas gdy ten ostatni jest w wersji zapoznawczej.

Obraz pipeline'u systemu Windows Server 2022 zawiera różne narzędzia i ich wersje w porównaniu do Windows Server 2019. Szczegółowe informacje można znaleźć w temacie ogłoszenia oprogramowania i w repozytorium środowisk wirtualnych.

Ogólna dostępność systemu macOS 11 na agentach hostowanych przez firmę Microsoft

System macOS 11 jest teraz ogólnie dostępny dla agentów hostowanych przez firmę Microsoft. Można go używać, odwołując się do obrazu macos-11 w potoku.

pool:
  vmImage: macos-11

Usuwanie obrazu systemu Ubuntu 16.04 na agentach hostowanych przez firmę Microsoft

Jak ogłoszono wcześniej, w dniu 20 września 2021 r. usuniemy obraz systemu Ubuntu 16.04 z agentów hostowanych przez firmę Microsoft. Tradycyjne 5-letnie wsparcie systemu Ubuntu 16.04 przez Canonical zakończyło się w kwietniu 2021 r. Należy przeprowadzić migrację potoków ubuntu-16.04 do systemu ubuntu-18.04 lub ubuntu-latest, które będą działać w systemie Ubuntu 20.04 LTS.

Kompilacje korzystające z systemu Ubuntu-16.04 mają już zarejestrowane ostrzeżenie. Aby upewnić się, że wszyscy wiedzą o tej zmianie, zaplanowaliśmy 2 krótkie przerwy w zasilaniu. Kompilacje systemu Ubuntu 16.04 zakończą się niepowodzeniem w okresie brownout. W związku z tym zaleca się migrowanie przepływów pracy przed 6 września 2021 r.

Brownouts są zaplanowane na następujące daty i godziny (Należy pamiętać, że zostały one przedłużone o godzinę od wcześniej ogłoszonych godzin): 6 września 2021 r. 16:00 UTC – 22:00 UTC, 14 września 2021 r. 16:00 UTC – 22:00 UTC.

Dalsze kroki

Uwaga / Notatka

Te funkcje będą wdrażane w ciągu najbliższych dwóch do trzech tygodni.

Przejdź do usługi Azure DevOps i przyjrzyj się.

Jak przekazać opinię

Chcielibyśmy usłyszeć, co myślisz o tych funkcjach. Użyj menu Pomocy, aby zgłosić problem lub podać sugestię.

Utwórz sugestię

Możesz również uzyskać porady i odpowiedzi na pytania społeczności w witrynie Stack Overflow.