Udostępnij za pośrednictwem


Azure DevOps Server 2019 Update 1 — informacje o wersji

Developer Community | Wymagania systemowe | postanowienia licencyjne | DevOps blog | skróty SHA-1

Ten artykuł zawiera informacje dotyczące najnowszej wersji usługi Azure DevOps Server.

Aby dowiedzieć się więcej na temat instalowania lub uaktualniania wdrożenia usługi Azure DevOps Server, zobacz Wymagania dotyczące usługi Azure DevOps Server. Aby pobrać produkty Usługi Azure DevOps, odwiedź stronę pobierania Azure DevOps Server.

Bezpośrednie uaktualnienie do usługi Azure DevOps Server 2020 jest obsługiwane z poziomu programu Azure DevOps Server 2019 lub Team Foundation Server 2015 lub nowszego. Jeśli wdrożenie serwera TFS jest na serwerze TFS 2010 lub starszym, przed uaktualnieniem do usługi Azure DevOps Server 2019 należy wykonać pewne kroki tymczasowe. Aby dowiedzieć się więcej, zobacz Instalowanie i konfigurowanie lokalnej usługi Azure DevOps.


Bezpieczne uaktualnianie z usługi Azure DevOps Server 2019 do usługi Azure DevOps Server 2020

Usługa Azure DevOps Server 2020 wprowadza nowy model przechowywania potoku (kompilacja), który działa na podstawie ustawień na poziomie projektu.

Usługa Azure DevOps Server 2020 obsługuje przechowywanie kompilacji inaczej na podstawie zasad przechowywania na poziomie potoku. Niektóre konfiguracje zasad prowadzą do usunięcia wykonywań potoków po aktualizacji. Przebiegi potoków, które zostały ręcznie zachowane lub są zachowywane przez publikację, nie zostaną usunięte po aktualizacji.

Przeczytaj nasz wpis w blogu , aby uzyskać więcej informacji na temat bezpiecznego uaktualniania z usługi Azure DevOps Server 2019 do usługi Azure DevOps Server 2020.

Azure DevOps Server 2019 Update 1.2 Patch 10 Data wydania: 11 marca 2025 r.

Plik Skrót SHA-256
devops2019.1.2patch10.exe 0983A46E080DDDE09208612247670D2BAAF2A9AD3BF57FD111AF95F14F120E70

Opublikowaliśmy Patch 10 dla usługi Azure DevOps Server 2019 Update 1.2, która zawiera następujące elementy:

  • Aktualizowanie zadań z powodu wycofania usługi Edgio CDN. Aby uzyskać więcej informacji, zapoznaj się z wpisem na blogu Zmiana dostawcy CDN.

Azure DevOps Server 2019 Update 1.2 Patch 9 Data wydania: 28 maja 2024 r.

Plik Skrót SHA-256
devops2019.1.2patch9.exe 4A3F41BBE00174DE964667878766EBF7F4D292526CBC1D885180B55D994B4D81

Opublikowaliśmy Patch 9 dla usługi Azure DevOps Server 2019 Update 1.2, która obejmuje następujące elementy:

  • Usprawnij wdrażanie aktualizacji agenta i zadań z poprzednich poprawek (poprawka 5 i 6).

Notatka

Nie jest konieczne wykonanie kroków opisanych w poprawkach 5 i 6; Można je pominąć, a zamiast tego można zastosować tę poprawkę.

Instalowanie poprawek

Ważny

 Ta poprawka aktualizuje dostępnego agenta potoku. Po zainstalowaniu poprawki 9 nowa wersja agenta będzie 3.225.0.

Wymagania dotyczące rurociągu

Aby zastosować nowe zachowanie w celu zweryfikowania argumentów wiersza polecenia, należy ustawić zmienną AZP_75787_ENABLE_NEW_LOGIC = true w potokach korzystających z zadań, których dotyczy problem. Aby uzyskać więcej informacji na temat włączonego zachowania, zobacz tutaj .

  • W wersji klasycznej:

    Zdefiniuj zmienną na karcie zmiennych w potoku.

  • Przykład YAML:

variables: 
- name: AZP_75787_ENABLE_NEW_LOGIC 
  value: true 

Azure DevOps Server 2019 Update 1.2 Patch 8 Data wydania: 12 marca 2024 r.

Plik Skrót SHA-256
devops2019.1.2patch8.exe 67E78EA7D67A09A6EE06309614F92E6D8495DEF52FF442E4E7C7979244FAD20A

Opublikowaliśmy Patch 8 dla usługi Azure DevOps Server 2019 Update 1.2, która zawiera poprawki dla następujących elementów:

  • Rozwiązano problem polegający na tym, że serwer proxy przestał działać po zainstalowaniu poprawki 7.

Azure DevOps Server 2019 Update 1.2 Patch 7 Data wydania: 13 lutego 2024 r.

Plik Skrót SHA-256
devops2019.1.2patch7.exe 8C67C72A83C9215302BDEFB752A7C4E3F876D4D17FCFA63A02B955FCFB5455AA

Opublikowaliśmy Patch 7 dla usługi Azure DevOps Server 2019 Update 1.2, która zawiera poprawki dla następujących elementów:

  • Usunięto usterkę polegającą na tym, że miejsce na dysku używane przez folder pamięci podręcznej serwera proxy było obliczane niepoprawnie i folder nie był prawidłowo czyszczony.
  • CVE-2024-20667: Luka w zabezpieczeniach dotycząca zdalnego wykonywania kodu serwera Azure DevOps Server.

Azure DevOps Server 2019 Update 1.2 Patch 6 Data wydania: 14 listopada 2023 r.

Opublikowaliśmy poprawkę dla usługi Azure DevOps Server 2019 Update 1.2, która zawiera poprawki dla następujących elementów.

  • Rozszerzono listę dozwolonych znaków dla zadań programu PowerShell dla Włączanie sprawdzania poprawności parametrów zadań powłoki.

Notatka

Aby zaimplementować poprawki dla tej poprawki, należy wykonać kilka kroków w celu ręcznego aktualizowania zadań.

Instalowanie poprawek

Ważny

Opublikowaliśmy aktualizacje agenta usługi Azure Pipelines z poprawką 5 wydaną 12 września 2023 r. Jeśli aktualizacje agenta nie zostały zainstalowane zgodnie z opisem w informacjach o wersji poprawki 5, zalecamy zainstalowanie tych aktualizacji przed zainstalowaniem poprawki 6. Nowa wersja agenta po zainstalowaniu poprawki 5 będzie mieć wartość 3.225.0.

Konfigurowanie rozwiązania TFX

  1. Wykonaj kroki opisane w przesyłanie zadań do dokumentacji kolekcji projektów, aby zainstalować i zalogować się za pomocą tfx-cli.

Aktualizowanie zadań przy użyciu narzędzia TFX

Plik Skrót SHA-256
Tasks20231103.zip 389BA66EEBC32622FB83402E21373CE20AE040F70461B9F9EFCED5034D2E5
  1. Pobierz i wyodrębnij Tasks20231103.zip.
  2. Zmień katalog na wyodrębnione pliki.
  3. Wykonaj następujące polecenia, aby przekazać zadania:
tfx build tasks upload --task-zip-path AzureFileCopyV1.1.230.0.zip
tfx build tasks upload --task-zip-path AzureFileCopyV2.2.230.0.zip 
tfx build tasks upload --task-zip-path AzureFileCopyV3.3.230.0.zip 
tfx build tasks upload --task-zip-path AzureFileCopyV4.4.230.0.zip 
tfx build tasks upload --task-zip-path AzureFileCopyV5.5.230.0.zip 
tfx build tasks upload --task-zip-path BashV3.3.226.2.zip 
tfx build tasks upload --task-zip-path BatchScriptV1.1.226.0.zip 
tfx build tasks upload --task-zip-path PowerShellV2.2.230.0.zip 
tfx build tasks upload --task-zip-path SSHV0.0.226.1.zip 
tfx build tasks upload --task-zip-path WindowsMachineFileCopyV1.1.230.0.zip 
tfx build tasks upload --task-zip-path WindowsMachineFileCopyV2.2.230.0.zip 

Wymagania dotyczące rurociągu

Aby użyć nowego zachowania, zmienna AZP_75787_ENABLE_NEW_LOGIC = true musi być ustawiona w potokach korzystających z zadań, których dotyczy problem.

  • W wersji klasycznej:

    Zdefiniuj zmienną na zakładce zmiennych w potoku.

  • Przykład YAML:

variables: 
- name: AZP_75787_ENABLE_NEW_LOGIC 
  value: true 

Azure DevOps Server 2019 Update 1.2 Patch 5 Data wydania: 12 września 2023 r.

Opublikowaliśmy poprawkę dla usługi Azure DevOps Server 2019 Update 1.2, która zawiera poprawki dla następujących elementów.

  • CVE-2023-33136: Luka w zabezpieczeniach dotycząca zdalnego wykonywania kodu serwera Azure DevOps Server.
  • CVE-2023-38155: Luka w zabezpieczeniach dotycząca podniesienia uprawnień serwera Azure DevOps Server i serwera Team Foundation Server.

Ważny

Wdróż poprawkę w środowisku testowym i upewnij się, że potoki środowiska działają zgodnie z oczekiwaniami przed wprowadzeniem poprawki w produkcji.

Notatka

Aby zaimplementować poprawki dla tej poprawki, należy wykonać kilka kroków w celu ręcznego zaktualizowania agenta i zadań.

Instalowanie poprawek

  1. Pobierz i zainstaluj program Azure DevOps Server 2019 Update 1.2 patch 5.

Aktualizowanie agenta usługi Azure Pipelines

  1. Pobierz agenta z: https://github.com/microsoft/azure-pipelines-agent/releases/tag/v3.225.0 — Agent_20230825.zip
  2. Aby wdrożyć agenta, wykonaj kroki opisane w dokumentacji agenta hostowanego na własnym serwerze w systemie Windows.  

Notatka

AZP_AGENT_DOWNGRADE_DISABLED musi być ustawiona na wartość "true", aby zapobiec obniżeniu poziomu agenta. W systemie Windows należy użyć następującego polecenia w wierszu polecenia administracyjnego, a następnie potrzebne będzie ponowne uruchomienie. setx AZP_AGENT_DOWNGRADE_DISABLED true /M

Konfigurowanie rozwiązania TFX

  1. Wykonaj kroki opisane w zadania przesyłania dla dokumentacji kolekcji projektów, aby zainstalować i zalogować się za pomocą tfx-cli.

Aktualizowanie zadań przy użyciu narzędzia TFX

  1. Pobierz i wyodrębnij Tasks_20230825.zip.
  2. Zmień katalog na wyodrębnione pliki.
  3. Wykonaj następujące polecenia, aby załadować zadania:
tfx build tasks upload --task-zip-path AzureFileCopyV1.1.226.3.zip 
tfx build tasks upload --task-zip-path AzureFileCopyV2.2.226.2.zip 
tfx build tasks upload --task-zip-path AzureFileCopyV3.3.226.2.zip 
tfx build tasks upload --task-zip-path AzureFileCopyV4.4.226.2.zip 
tfx build tasks upload --task-zip-path AzureFileCopyV5.5.226.2.zip 
tfx build tasks upload --task-zip-path BashV3.3.226.2.zip 
tfx build tasks upload --task-zip-path BatchScriptV1.1.226.0.zip 
tfx build tasks upload --task-zip-path PowerShellV2.2.226.1.zip 
tfx build tasks upload --task-zip-path SSHV0.0.226.1.zip 
tfx build tasks upload --task-zip-path WindowsMachineFileCopyV1.1.226.2.zip 
tfx build tasks upload --task-zip-path WindowsMachineFileCopyV2.2.226.2.zip 

Wymagania dotyczące rurociągu

Aby użyć nowego zachowania, zmienna AZP_75787_ENABLE_NEW_LOGIC = true musi być ustawiona w potokach korzystających z zadań, których dotyczy problem.

  • W wersji klasycznej:

    Zdefiniuj zmienną w zakładce zmiennych w potoku.

  • Przykład YAML:

variables: 
- name: AZP_75787_ENABLE_NEW_LOGIC 
  value: true 

Azure DevOps Server 2019 Update 1.2 Patch 4 Data wydania: 8 sierpnia 2023 r.

Opublikowaliśmy poprawkę dla usługi Azure DevOps Server 2019 Update 1.2, która zawiera poprawki dla następujących elementów.

  • CVE-2023-36869: Luka w zabezpieczeniach dotycząca fałszowania serwera Azure DevOps Server.
  • Zaktualizuj usługę SSH, aby obsługiwać algorytm SHA2-256 i SHA2-512. Jeśli masz pliki konfiguracji SSH zakodowane w celu używania rsA, należy zaktualizować go do algorytmu SHA2 lub usunąć wpis.
  • Usunięto usterkę nieskończonej pętli w CronScheduleJobExtension.

Azure DevOps Server 2019 Update 1.2 Patch 3 Data wydania: 13 czerwca 2023 r.

Opublikowaliśmy poprawkę dla usługi Azure DevOps Server 2019 Update 1.2, która zawiera poprawki dla następujących elementów.

  • Usunięto błąd zakłócający wysyłanie pakietów podczas uaktualniania z wersji 2018 lub starszej.

Azure DevOps Server 2019 Update 1.2 Patch 2 Data wydania: 13 grudnia 2022 r.

Opublikowaliśmy poprawkę dla usługi Azure DevOps Server 2019 Update 1.2, która zawiera poprawki dla następujących elementów.

  • Naprawiono błędy w zadaniu analizy synchronizacji równoległości konta.

Azure DevOps Server 2019 Update 1.2 Patch 1 Data wydania: 12 lipca 2022 r.

Opublikowaliśmy poprawkę dla usługi Azure DevOps Server 2019 Update 1.2, która zawiera poprawki dla następujących elementów.

  • W interfejsach API przebiegów testów zwracany token kontynuacji był większy niż określona wartość "maxLastUpdatedDate".
  • Podczas edytowania potoku klasycznego karta przechowywania była pusta po odrzuceniu zmian na innej karcie.

Azure DevOps Server 2019 Update 1.2 Data wydania: 17 maja 2022 r.

Azure DevOps Server 2019 Update 1.2 to zestawienie poprawek błędów. Możesz bezpośrednio zainstalować program Azure DevOps Server 2019 Update 1.2 lub uaktualnić z programu Azure DevOps Server 2019 lub Team Foundation Server 2013 lub nowszego.

Notatka

Narzędzie do migracji danych będzie dostępne dla usługi Azure DevOps Server 2019 Update 1.2 około trzech tygodni po tej wersji. Listę aktualnie obsługiwanych wersji do importowania można znaleźć tutaj.

Ta wersja zawiera poprawki dla następujących elementów:

  • Odwoływanie wszystkich osobistych tokenów dostępu po wyłączeniu konta usługi Active Directory użytkownika.

Azure DevOps Server 2019 Update 1.1 Patch 13 Data wydania: 26 stycznia 2022 r.

Opublikowaliśmy poprawkę dla usługi Azure DevOps Server 2019 Update 1.1, która zawiera poprawki dla następujących elementów.

  • Powiadomienia e-mail nie zostały wysłane podczas korzystania z kontrolki @mention w elemencie roboczym.
  • Preferowany adres e-mail nie został zaktualizowany w profilu użytkownika. Spowodowało to wysłanie wiadomości e-mail na poprzedni adres e-mail.
  • Usunięto lukę w zabezpieczeniach usługi Elasticsearch, usuwając klasę jndilookup z plików binarnych log4j.

Kroki instalacji

  1. Zaktualizuj serwer za pomocą poprawki Patch 13.
  2. Sprawdź wartość rejestru pod adresem HKLM:\Software\Elasticsearch\Version. Jeśli wartość rejestru nie istnieje, dodaj wartość ciągu i ustaw wartość Version na 5.4.1 (Name = Version, Value = 5.4.1).
  3. Uruchom polecenie aktualizacji PS C:\Program Files\{TFS Version Folder}\Search\zip> .\Configure-TFSSearch.ps1 -Operation update podane w pliku readme. Może zostać zwrócone ostrzeżenie, takie jak: Nie można nawiązać połączenia z serwerem zdalnym. Nie zamykaj okna, ponieważ aktualizacja wykonuje ponowną próbę, dopóki nie zostanie ukończona.

Notatka

Jeśli program Azure DevOps Server i Elasticsearch są zainstalowane na różnych maszynach, wykonaj kroki opisane poniżej.

  1. Zaktualizuj serwer przy użyciu poprawki Patch 13.
  2. Sprawdź wartość rejestru pod adresem HKLM:\Software\Elasticsearch\Version. Jeśli wartość rejestru nie istnieje, dodaj wartość ciągu i ustaw wartość Version na 5.4.1 (Name = Version, Value = 5.4.1).
  3. Skopiuj zawartość folderu o nazwie zip znajdującą się na C:\Program Files\{TFS Version Folder}\Search\zip do zdalnego folderu plików Elasticsearch.
  4. Uruchom Configure-TFSSearch.ps1 -Operation update na maszynie serwera Elasticsearch.

skrót SHA-256 : DB762E391F9DF8E71E58D6FAA169CA44DFBE996AE6567B55F772CBA9E3DA2AB3

Azure DevOps Server 2019 Update 1.1 Patch 12 Data wydania: 15 września 2021 r.

Patch 12 dla usługi Azure DevOps Server 2019 Update 1.1 zawiera poprawki dla następujących elementów.

  • Poprawiono makro elementu roboczego dla zapytań z wyrazami zawierającymi słowa. Wcześniej zapytania dla wartości zawierających złamanie wiersza zwracały nieprawidłowe wyniki.
  • Problem z lokalizacją dla niestandardowych stanów układu elementów roboczych.
  • Problem z lokalizacją w szablonie powiadomień e-mail.
  • Problem z oceną reguł NOTSAMEAS, gdy dla pola zdefiniowano wiele reguł NOTSAMEAS.

Azure DevOps Server 2019 Update 1.1 Patch 11 Data wydania: 14 września 2021 r.

Aktualizacja 11 dla serwera Azure DevOps 2019 Update 1.1 zawiera poprawki następujących elementów.

Azure DevOps Server 2019 Update 1.1 Patch 10 Data wydania: 10 sierpnia 2021 r.

Patch 10 dla usługi Azure DevOps Server 2019 Update 1.1 zawiera poprawki dla następujących elementów.

  • Rozwiązano problem z zadaniami dostarczania wiadomości e-mail dla niektórych typów elementów roboczych.

Azure DevOps Server 2019 Update 1.1 Patch 9 Data wydania: 15 czerwca 2021 r.

Patch 9 dla usługi Azure DevOps Server 2019 Update 1.1 zawiera poprawki dla następujących elementów.

  • Rozwiązano problem z importowaniem danych. Importowanie danych trwało długo dla klientów, którzy mają wiele nieaktualnych przypadków testowych. Wynikało to z odwołań, które zwiększyły rozmiar tabeli tbl_testCaseReferences. Dzięki tej poprawce usunęliśmy odwołania do nieaktualnych przypadków testowych, aby przyspieszyć proces importowania danych.

Azure DevOps Server 2019 Update 1.1 Patch 8 Data wydania: 13 kwietnia 2021 r.

Opublikowaliśmy poprawkę dla usługi Azure DevOps Server 2019 Update 1.1, która naprawia następujące poprawki.

Aby zaimplementować poprawki dla tej aktualizacji, należy wykonać kroki wymienione poniżej dla instalacji ogólnych poprawek oraz instalacji zadań AzureResourceGroupDeploymentV2.

Ogólna instalacja poprawek

Jeśli masz Azure DevOps Server 2019 Update 1.1, zainstaluj Azure DevOps Server 2019 Update 1.1 Patch 8.

Weryfikacja Instalacji

  • opcja 1: Uruchom devops2019.1.1patch8.exe CheckInstall, devops2019.1.1patch8.exe to plik pobrany z powyższego linku. Wynik polecenia pokaże, że poprawka została zainstalowana, lub że nie została zainstalowana.

  • opcja 2: sprawdź wersję następującego pliku: [INSTALL_DIR]\Azure DevOps Server 2019\Application Tier\Web Services\bin\Microsoft.VisualStudio.Services.Feed.Server.dll. Azure DevOps Server 2019 jest instalowany domyślnie na c:\Program Files\Azure DevOps Server 2019. Po zainstalowaniu poprawki 8 programu Azure DevOps Server 2019.1.1 wersja będzie mieć wartość 17.153.31129.2.

Instalacja zadania AzureResourceGroupDeploymentV2

Notatka

Wszystkie kroki wymienione poniżej należy wykonać na maszynie z systemem Windows

Instalować

  1. Wyodrębnij pakiet AzureResourceGroupDeploymentV2.zip do nowego folderu na komputerze. Na przykład: D:\tasks\AzureResourceGroupDeploymentV2.

  2. Pobierz i zainstaluj Node.js 14.15.1 i npm (dołączone do pobierania Node.js) zgodnie z potrzebami komputera.

  3. Otwórz wiersz polecenia w trybie administratora i uruchom następujące polecenie, aby zainstalować tfx-cli.

npm install -g tfx-cli
  1. Utwórz osobisty token dostępu z uprawnieniami pełnego dostępu i skopiuj go. Ten osobisty token dostępu będzie używany podczas uruchamiania polecenia tfx login.

  2. Uruchom następujące polecenie w wierszu polecenia. Po wyświetleniu monitu wprowadź adres URL usługi i osobisty token dostępu.

~$ tfx login
Copyright Microsoft Corporation

> Service URL: {url}
> Personal access token: xxxxxxxxxxxx
Logged in successfully

  1. Uruchom następujące polecenie, aby przekazać zadanie na serwer. Użyj ścieżki wyodrębnionego pliku .zip z kroku 1.
  ~$ tfx build tasks upload --task-path *<Path of the extracted package>*

Azure DevOps Server 2019 Update 1.1 Patch 7 Data wydania: 12 stycznia 2021 r.

Opublikowaliśmy poprawkę dla usługi Azure DevOps Server 2019 Update 1.1, która naprawia następujące poprawki. Aby uzyskać więcej informacji, zobacz wpis w blogu .

  • Szczegóły przebiegu testu nie zawierają szczegółów kroku testu dla danych testowych migrowanych przy użyciu migracji platformy OpsHub
  • Wyjątek dla inicjatora "Microsoft.TeamFoundation.TestManagement.Server.TCMLogger"
  • Nieretainowane kompilacje są natychmiast usuwane po migracji do usługi Azure DevOps Server 2020
  • Napraw wyjątek dostawcy danych

Azure DevOps Server 2019 Update 1.1 Patch 6 Data wydania: 8 grudnia 2020 r.

Opublikowaliśmy poprawkę dla usługi Azure DevOps Server 2019 Update 1.1, która naprawia następujące poprawki. Aby uzyskać więcej informacji, zobacz wpis w blogu .

  • CVE-2020-1325: Luka fałszowania w serwerze Azure DevOps
  • CVE-2020-17135: Luka w zabezpieczeniach dotycząca fałszowania serwera Azure DevOps
  • CVE-2020-17145: Luka umożliwiająca fałszowanie w Azure DevOps Server i Team Foundation Services
  • Rozwiązano problem z brakiem przetwarzania wszystkich wyników przez serwer TFVC

Ważny

Przed zainstalowaniem tej poprawki zapoznaj się z pełnymi instrukcjami podanymi poniżej.

Ogólna instalacja poprawek

Jeśli masz usługę Azure DevOps Server 2019 Update 1.1, zainstaluj Azure DevOps Server 2019 Update 1.1 Patch 6.

Weryfikowanie Instalacji

  • opcja 1: Uruchom devops2019.1.1patch6.exe CheckInstall, devops2019.1.1patch6.exe to plik pobrany z powyższego linku. Wynik polecenia powie, że poprawka została zainstalowana lub że nie jest zainstalowana.

  • opcja 2: sprawdź wersję następującego pliku: [INSTALL_DIR]\Azure DevOps Server 2019\Application Tier\Web Services\bin\Microsoft.VisualStudio.Services.Feed.Server.dll. Azure DevOps Server 2019 jest domyślnie instalowany na c:\Program Files\Azure DevOps Server 2019. Po zainstalowaniu poprawki 6 programu Azure DevOps Server 2019.1.1 wersja będzie mieć wartość 17.153.30723.5.

Instalacja zadania AzurePowerShellV4

Notatka

Wszystkie kroki wymienione poniżej należy wykonać na maszynie z systemem Windows

Warunki wstępne

  1. Zainstaluj moduł Azure PowerShell Az Azure PowerShell na prywatnej maszynie agenta.

  2. Utwórz potok za pomocą zadania AzurePowerShellV4. W zadaniu zobaczysz tylko jedno Niepowodzenie przy błędzie standardowym.

Instalować

  1. Wyodrębnij pakiet AzurePowerShellV4.zip do folderu o nazwie AzurePowerShellV4.

  2. Pobierz i zainstaluj Node.js 14.15.1 i npm (dołączony do pobierania Node.js) dla twojego urządzenia.

  3. Otwórz wiersz polecenia w trybie administratora i uruchom następujące polecenie, aby zainstalować tfx-cli.

npm install -g tfx-cli
  1. Utwórz osobisty token dostępu z uprawnieniami pełnego dostępu i skopiuj go. Ten osobisty token dostępu będzie używany podczas uruchamiania polecenia tfx login.

  2. Uruchom następujące polecenie w wierszu polecenia. Po wyświetleniu monitu wprowadź adres URL usługi i osobisty token dostępu.

~$ tfx login
Copyright Microsoft Corporation

> Service URL: {url}
> Personal access token: xxxxxxxxxxxx
Logged in successfully

  1. Uruchom następujące polecenie, aby przekazać zadanie na serwer. Ścieżka wyodrębnionego pakietu będzie D:\tasks\AzurePowerShellv4.
  ~$ tfx build tasks upload --task-path *<Path of the extracted package>*

Azure DevOps Server 2019 Update 1.1 Patch 5 Data wydania: 8 września 2020 r.

Opublikowaliśmy poprawkę dla usługi Azure DevOps Server 2019 Update 1.1, która naprawia następujące poprawki. Aby uzyskać więcej informacji, zobacz wpis w blogu .

  • DTS 1713492 — nieoczekiwane zachowanie podczas dodawania grup w usłudze AD do uprawnień bezpieczeństwa.

Azure DevOps Server 2019 Update 1.1 Patch 4 Data wydania: 14 lipca 2020 r.

Opublikowaliśmy poprawkę dla usługi Azure DevOps Server 2019 Update 1.1, która naprawia następujące poprawki. Aby uzyskać więcej informacji, zobacz wpis w blogu .

  • CVE-2020-1326: Luka w zabezpieczeniach dotycząca skryptów między witrynami
  • Potok kompilacji pokazuje nieprawidłowe połączenie dla nieautoryzowanych użytkowników podczas wybierania innego źródła git.
  • Naprawiono błąd przy zmianie stanu funkcji Dziedziczenie na Włączone lub Wyłączone w definicji kompilacji XAML.

Azure DevOps Server 2019 Update 1.1 Patch 3 Data wydania: 9 czerwca 2020 r.

Opublikowaliśmy poprawkę dla usługi Azure DevOps Server 2019 Update 1.1, która naprawia następujące poprawki. Aby uzyskać więcej informacji, zobacz wpis w blogu .

  • CVE-2020-1327: Upewnij się, że serwer Usługi Azure DevOps oczyszcza dane wejściowe użytkownika.

Azure DevOps Server 2019 Update 1.1 Patch 2 Data wydania: 14 kwietnia 2020 r.

Opublikowaliśmy poprawkę dla usługi Azure DevOps Server 2019 Update 1.1, która naprawia następujące poprawki. Aby uzyskać więcej informacji, zobacz wpis w blogu .

  • Zatwierdzenia SVN nie wyzwalają potoku

  • Dodawanie obsługi algorytmu SHA2 w usłudze SSH w usłudze Azure DevOps

Azure DevOps Server 2019 Update 1.1 Patch 1 Data wydania: 10 marca 2020 r.

Opublikowaliśmy poprawkę zabezpieczeń dla usługi Azure DevOps Server 2019 Update 1.1, która naprawia następujące usterki. Aby uzyskać więcej informacji, zobacz wpis w blogu .

  • CVE-2020-0700: luka w zabezpieczeniach dotycząca skryptów między witrynami

  • CVE-2020-0758: Luka umożliwiająca podniesienie uprawnień

  • CVE 2020-0815: Luka w zabezpieczeniach umożliwiająca podniesienie uprawnień


Azure DevOps Server 2019 Update 1.1 RTW Data wydania: 10 grudnia 2019 r.

azure DevOps Server 2019 Update 1.1 to zestawienie poprawek błędów i aktualizacji zabezpieczeń. Zawiera wszystkie poprawki w wcześniej wydanych poprawkach programu Azure DevOps Server 2019 Update 1. Możesz bezpośrednio zainstalować program Azure DevOps Server 2019 Update 1.1 lub uaktualnić z programu Azure DevOps Server 2019 lub Team Foundation Server 2012 lub nowszego.

Notatka

Narzędzie do migracji danych będzie dostępne dla usługi Azure DevOps Server 2019 Update 1.1 około trzech tygodni po tej wersji. Listę aktualnie obsługiwanych wersji do importowania można znaleźć tutaj.

Ta wersja zawiera poprawki następujących usterek:

Azure Boards

  • Podczas tworzenia nowego elementu roboczego z backlogu produktu, pole Tytuł nie jest inicjalizowane wartością domyślną w szablonie procesu.
  • Spowolnienie i przekroczenia limitu czasu podczas korzystania z usługi Azure Boards.
  • Wartość "Zmienione przez" jest błędna w linkach elementów roboczych.

Azure Pipelines

Plany testów platformy Azure

  • Edytowanie pól w planach testów działa wolno.
  • W przypadku testowym podczas otwierania z tablic (w przeciwieństwie do planów testów) szczegóły udostępnionego kroku nie są otwarte.

Ogólne

Administracja

  • wysokie użycie pamięci.
  • Serwery z konfiguracjami równoważenia obciążenia musiały jawnie dodać swoje źródło publiczne do wpisu w rejestrze AllowedOrigins.
  • Klienci, którzy instalują się na platformie SQL Azure, nie widzą okna dialogowego Ukończenie wersji próbnej.
  • Podczas instalowania rozszerzeń pojawia się błąd "Brak udziału (ms.vss-dashboards-web.widget-sdk-version-2)".
  • Podczas konfigurowania funkcji Elastic Search występuje błąd: "Użytkownik jest nieautoryzowany".
  • Błędy indeksowania i zapytań w usłudze Elastic Search podczas uaktualniania z programu TFS 2018 Update 2 lub nowszego.
  • Krok "Tworzenie magazynu" kończy się niepowodzeniem podczas konfigurowania serwera Azure DevOps Server.

Ta wersja zawiera następującą aktualizację:

  • Obsługa programu SQL Server 2019.

Azure DevOps Server 2019 Update 1 Patch 1 — data wydania: 10 września 2019 r.

Opublikowaliśmy poprawkę zabezpieczeń dla usługi Azure DevOps Server 2019 Update 1, która naprawia następujący błąd. Aby uzyskać więcej informacji, zobacz wpis w blogu .

  • CVE-2019-1306: Luka w zabezpieczeniach dotycząca zdalnego wykonywania kodu w witrynie Wiki

Azure DevOps Server 2019 Update 1 Data wydania: 20 sierpnia 2019 r.

Notatka

Narzędzie do migracji danych będzie dostępne dla usługi Azure DevOps Server 2019 Update 1 około trzech tygodni po tej wersji. Listę aktualnie obsługiwanych wersji do importowania można znaleźć tutaj.


Data wydania RC2: 23 lipca 2019 r.

RC2 zawiera kilka poprawek błędów od WERSJI RC1 i jest ostatnią planowaną wersją wstępną.


Data wydania RC1: 2 lipca 2019 r.

Podsumowanie nowości w usłudze Azure DevOps Server 2019 Update 1

Usługa Azure DevOps Server 2019 Update 1 wprowadza wiele nowych funkcji. Niektóre z najważniejszych elementów to:

Możesz również przejść do poszczególnych sekcji, aby zobaczyć nowe funkcje:


Ogólne

Ciemny motyw

Ciemny motyw był popularną funkcją w usłudze Azure DevOps Services i jest teraz dostępny w usłudze Azure DevOps Server. Motyw ciemny można włączyć, wybierając pozycję Motyw z menu pod awatarem w prawym górnym rogu każdej strony.

motyw ciemny

Zarządy

Nowy proces podstawowy

W przeszłości agile był domyślnym procesem dla nowych projektów, oferując niezawodny i elastyczny zestaw typów elementów roboczych i stanów odpowiadających różnym metodom dostarczania projektów. W przypadku niektórych zespołów, którzy są bardziej zaznajomieni z innymi narzędziami lub którzy rozwijają się i chcą wdrożyć bardziej zaawansowany zestaw narzędzi, chcą szybko rozpocząć pracę przy użyciu terminologii, z którą są bardziej zaznajomieni.

Nowy proces Podstawowy udostępnia trzy typy elementów roboczych (Epiki, Problemy i Zadania) do planowania i śledzenia pracy. Zalecamy używanie zgłoszeń do śledzenia elementów, takich jak historie użytkownika, usterki i funkcje, podczas używania epików do grupowania zgłoszeń w większe jednostki pracy. W miarę postępu pracy przenieś elementy wzdłuż prostego przepływu pracy zadań: Do zrobienia, W trakcie, Gotowe.

proces podstawowy

Zapoznaj się z dokumentacją dotyczącą śledzenia problemów i zadań, aby ułatwić rozpoczęcie pracy z nowym projektem.

Kolejność wartości stanu w formularzu elementu roboczego

Wcześniej wartość stanu na formularzu elementu roboczego była uporządkowana alfabetycznie. Dzięki tej aktualizacji zmieniliśmy sposób porządkowania wartości stanu w celu dopasowania ich do kolejności przepływu pracy w ustawieniach procesu. Można również zmienić kolejność stanów w każdej kategorii w ustawieniach dostosowywania stanu.

zlecenie stanu

Włączanie funkcji nie jest już dostępne

Klienci będą musieli ręcznie zaktualizować kod XML dla każdego projektu, aby umożliwić nowe funkcje po uaktualnieniu kolekcji.

włączanie funkcji

Zapoznaj się z dokumentacją , aby dowiedzieć się, jak włączyć określone funkcje.

Organizowanie materiałów referencyjnych z bogatszymi załącznikami do elementów pracy

Dołączanie plików do elementów roboczych umożliwia tobie i zespołowi scentralizowanie materiałów referencyjnych, dzięki czemu są zawsze blisko, gdy ich potrzebujesz. Teraz łatwiej jest dodać nowy załącznik, przeciągając i upuszczając plik w dowolnym miejscu w formularzu elementu roboczego. Możesz kontynuować wyświetlanie załączników jako listy lub przełączyć się do widoku siatki, aby wyświetlić podgląd miniatur. Kliknij dwukrotnie plik, aby otworzyć podgląd i przejść przez nie w celu szybkiego znalezienia potrzebnych informacji.

załączniki elementu roboczego

Udostępnianie tablicy zespołu za pomocą wskaźnika

README repozytorium jest często miejscem, do którego zespół projektowy zwraca się, aby uzyskać informacje na temat tego, jak współtworzyć rozwiązanie i korzystać z niego. Teraz, podobnie jak w przypadku stanu kompilacji lub wdrożenia w Azure Pipelines, możesz dodać do pliku README odznakę dla tablicy zespołu w Azure Boards. Wskaźnik można skonfigurować tak, aby pokazywał tylko kolumny W toku lub wszystkie kolumny, a nawet uwidocznić wskaźnik publicznie, jeśli projekt jest open source.

Krótki film wideo pokazujący, jak udostępniać tablice zespołu za pomocą odznaki.

Jeśli plik README jest oparty na języku Markdown, możesz po prostu skopiować przykładowy kod Markdown ze strony ustawień wskaźnika stanu i wkleić go do pliku.

zrzut ekranu przedstawiający znaczek w pliku README w witrynie GitHub. znaczek

Zapytanie o pracę w stosunku do początku dnia, tygodnia, miesiąca lub roku

Podczas gdy zespoły często koncentrują się na pracy w kontekście tego, co jest przed nami lub na podstawie iteracji sprintu, często interesujące jest spojrzenie na pracę poprzez pryzmat kalendarza, aby zgłosić wszystkie prace, które miały miejsce w zeszłym miesiącu lub w pierwszym kwartale roku. Teraz możesz użyć następującego nowego zestawu makr @StartOf wraz z dowolnym polem opartym na dacie, aby wykonywać zapytania na podstawie początku dnia, tygodnia, miesiąca lub roku:

  • @StartOfYear
  • @StartOfMonth
  • @StartOfWeek
  • @StartOfDay

Każde z tych makr akceptuje również nowy ciąg modyfikujący, który umożliwia przesunięcie danych według różnych jednostek dat. Możesz na przykład napisać zapytanie, aby znaleźć wszystkie elementy robocze ukończone w pierwszym kwartale tego roku, wykonując zapytanie dotyczące daty zmiany stanu >= @StartOfYear i daty zmiany stanu <= @StartOfYear("+3M"). Aby uzyskać więcej informacji, zobacz dokumentację makr zapytań .

Zrzut ekranu przedstawiający zapytanie dotyczące pracy względem początku dnia, tygodnia, miesiąca lub roku.

Edytowanie i usuwanie komentarzy do dyskusji

Z przyjemnością ogłaszamy dostępność wysoko ocenianej funkcji społeczności deweloperów : edytowania i usuwania komentarzy w dyskusjach nad elementami roboczymi w usłudze Azure Boards. Aby edytować komentarz, po prostu umieść kursor nad dowolnym komentarzem, którego jesteś właścicielem, i zobaczysz dwa nowe przyciski. Jeśli klikniesz ikonę ołówka, przejdziesz do trybu edycji, gdzie możesz po prostu wprowadzić zmiany i nacisnąć przycisk "Aktualizuj", aby je zapisać.

Zrzut ekranu przedstawiający komentarze do dyskusji.

Po kliknięciu menu rozwijanego zostanie wyświetlona opcja usunięcia komentarza. Po kliknięciu tego przycisku zostanie wyświetlony monit o potwierdzenie, że chcesz usunąć ten komentarz, a komentarz zostanie usunięty.

Zrzut ekranu przedstawiający sposób usuwania komentarzy do dyskusji.

Będziesz mieć pełny ślad wszystkich edytowanych i usuniętych komentarzy na karcie Historia w formularzu elementu roboczego. Zobaczysz również, że zaktualizowaliśmy interfejs użytkownika naszego środowiska dyskusji, aby uczynić go bardziej nowoczesnym i interaktywnym. Dodaliśmy bąbelki wokół komentarzy, aby było jaśniejsze, gdzie poszczególne komentarze zaczynają się i kończą.

Eksportowanie wyników zapytania do pliku CSV

Teraz możesz wyeksportować wyniki zapytania bezpośrednio do pliku formatu CSV z internetu.

krótki film wideo pokazujący sposób eksportowania wyników zapytania.

Teraz, gdy wspominasz element roboczy w komentarzu dotyczącego problemu, żądania ściągnięcia lub zatwierdzenia w usłudze GitHub przy użyciu składni AB#{work item ID}, te wzmianki staną się hiperlinkami, które można kliknąć, aby przejść bezpośrednio do wymienionego elementu roboczego.

Nie powoduje to utworzenia formalnego linku, który zaśmieca element roboczy w usłudze Azure Boards dla każdej powiązanej konwersacji, ale zamiast tego daje zespołowi sposób udostępnienia nieco więcej informacji o elementach roboczych podczas omawiania kodu lub problemu zgłaszanego przez klienta. Aby uzyskać więcej informacji, zobacz dokumentację integracji GitHub z Azure Boards.

Zrzut ekranu przedstawiający pull request w usłudze GitHub.

Akceptowanie i realizacja zadań w usłudze GitHub podczas planowania w Azure Boards

Teraz możesz połączyć elementy robocze w usłudze Azure Boards z powiązanymi problemami w usłudze GitHub. W przypadku tego nowego typu łączenia możliwe jest teraz kilka innych scenariuszy. Jeśli twój zespół chce kontynuować akceptowanie raportów o usterkach od użytkowników, na przykład jako problemy w usłudze GitHub, ale powiązać i zorganizować ogólną pracę zespołu w usłudze Azure Boards, teraz możesz.

Zrzut ekranu przedstawiający łączenie elementów roboczych w usłudze Azure Boards z powiązanymi problemami w usłudze GitHub.

Ta sama składnia wzmianki używana przez zespół do commitów i żądań pobrania nadal ma zastosowanie i oczywiście można powiązać ręcznie w usłudze Azure Boards z adresem URL zadania. Aby uzyskać więcej informacji, zobacz dokumentację GitHub & Azure Boards.

Zrzut ekranu przedstawiający sposób ręcznego łączenia w usłudze Azure Boards z adresem URL zgłoszenia usługi GitHub.

Szybkie wyświetlanie połączonego działania usługi GitHub z tablicy Kanban

Podczas przeglądania tablicy Kanban samodzielnie lub jako zespół często masz pytania, takie jak "czy rozpoczęto już rozwój tego elementu?" lub "czy ten element jest już poddany przeglądowi?" Dzięki nowym adnotacjom GitHub na tablicy Kanban możesz teraz szybko zrozumieć, gdzie znajduje się element, i bezpośrednio przejść do zatwierdzenia, pull requesta lub zgłoszenia w GitHub, aby uzyskać więcej szczegółów. Aby uzyskać więcej informacji na temat tego i innych adnotacji dla zadań i testów, zobacz dokumentację Dostosowywanie kart.

Zrzut ekranu przedstawiający sposób wyświetlania połączonego działania usługi GitHub z tablicy Kanban.

Repos

Żądania pull w wersji roboczej

Aby zapobiec sfinalizowaniu żądań ściągnięcia, zanim będą gotowe, i umożliwić łatwe tworzenie pracy w toku, która może nie obejmować wszystkich, obsługujemy teraz żądania ściągnięcia w wersji roboczej.

Wersję roboczą prośby o pobranie można utworzyć, wybierając Utwórz jako wersję roboczą z listy rozwijanej przycisku Utwórz podczas tworzenia prośby o pobranie.

Utwórz roboczy PR

Po utworzeniu roboczego żądania ściągnięcia zobaczysz wskaźnik wskazujący jego stan obok tytułu.

Zrzut ekranu przedstawiający żądanie ściągnięcia, że jest to wersja robocza.

Wersje robocze żądań ściągnięcia domyślnie nie obejmują recenzentów ani nie uruchamiają kompilacji, ale umożliwiają następnie ręczne dodawanie recenzentów i uruchamianie kompilacji. Aby podwyższyć poziom żądania ściągnięcia do normalnego żądania ściągnięcia, po prostu kliknij przycisk Publikuj na stronie szczegółów żądania ściągnięcia.

Ponowne uruchomienie wygasłej kompilacji dla pull requestów związanych z autouzupełnianiem

Usługa Azure Repos będzie teraz automatycznie kolejkować wygasłe kompilacje, które zostały wyzwolone przez politykę żądania ściągnięcia. Dotyczy to pull requestów, które przeszły wszystkie inne polityki i są ustawione na automatyczne uzupełnianie.

Wcześniej, gdy żądania ściągnięcia miały zasady, takie jak wymagani recenzenci, proces zatwierdzania mógł trwać zbyt długo, a skojarzona kompilacja mogła wygasnąć, zanim recenzent zatwierdziłby żądanie ściągnięcia. Jeśli żądanie ściągnięcia zostało ustawione na automatyczne ukończenie, pozostanie zablokowane, dopóki użytkownik ręcznie nie doda przeterminowanej kompilacji do kolejki. Dzięki tej zmianie kompilacja zostanie automatycznie wstawiona do kolejki, dzięki czemu żądanie ściągnięcia może zostać automatycznie ukończone po pomyślnej kompilacji.

Notatka

Ta automatyzacja będzie umieszczać w kolejce tylko do pięciu wygasłych kompilacji na pull request i będzie próbować umieścić ponownie w kolejce każdą kompilację tylko raz.

Wyświetlenie tylko lewego lub prawego pliku w pull request.

Obecnie podczas wyświetlania zmian w plikach w żądaniu ściągnięcia kodu można użyć porównania równoległego lub porównania w tekście. Otrzymaliśmy opinię, że wielu z Was chce zobaczyć oryginalny plik lub zmieniony plik, bez porównywania ich, dlatego dodaliśmy nową opcję, która umożliwi wyświetlenie pliku po lewej stronie lub odpowiedniego pliku osobno.

Zrzut ekranu przedstawiający opcje porównywania obok siebie z kursorem najeżdżającym na opcję Pokaż zmodyfikowaną zawartość.

Nowe typy scalania służące do kończenia żądań ściągnięcia

Teraz masz więcej opcji podczas scalania zmian z pull request do gałęzi docelowej. Dodaliśmy obsługę dwóch najbardziej pożądanych funkcji w społeczności deweloperów: Fast-Forward scalania i Semi-Linear scalania (nazywane także "Rebase i scalanie").

Teraz zobaczysz dostępne te nowe opcje w oknie dialogowym Complete Pull Request.

Zrzut ekranu przedstawiający nowe typy scalania na potrzeby kończenia żądań ściągnięcia.

Zaktualizowana strona administrowania zasadami umożliwia administratorom kontrolowanie, które strategie scalania są dozwolone w gałęzi lub folderze gałęzi.

Zrzut ekranu przedstawiający sekcję Ogranicz typy scalania.

Notatka

Istniejące zasady są nadal wymuszane. Jeśli na przykład oddział ma obecnie politykę "tylko scalanie w trybie squasha", musisz edytować tę politykę, aby używać nowych strategii scalania.

Istnieje kilka sytuacji, gdy ponowne łączenie podczas kończenia żądania ściągnięcia nie jest możliwe:

  • Jeśli zasady w gałęzi docelowej zabraniają używania strategii rebase, konieczne będzie uprawnienie "Zastąp zasady gałęzi".
  • Jeśli gałąź źródłowa pull requesta ma polityki, nie będzie można jej przerebrować. Rebazowanie spowoduje zmodyfikowanie gałęzi źródłowej bez przechodzenia przez proces zatwierdzania polityki.
  • Jeśli użyłeś rozszerzenia Merge Conflict Extension do rozwiązywania konfliktów scalania. Rozwiązania konfliktów stosowane do scalania trzykierunkowego są rzadko skuteczne (a nawet prawidłowe) podczas ponownego łączenia wszystkich zatwierdzeń w żądaniu ściągnięcia pojedynczo.

We wszystkich tych przypadkach nadal masz możliwość wykonania rebase'u gałęzi lokalnie i wypchnięcia jej na serwer lub scalania zmian do jednej komendy podczas kończenia żądania ściągnięcia.

Filtruj według gałęzi docelowej w pull requestach (PRs)

Pull requests umożliwiają zespołowi przejrzenie kodu i przekazanie opinii na temat zmian przed połączeniem ich z gałęzią główną. Stały się one ważną częścią przepływów pracy wielu zespołów, ponieważ można przechodzić przez proponowane zmiany, pozostawiać komentarze i głosować, aby zatwierdzić lub odrzucić zmiany kodu.

Aby ułatwić znajdowanie pull requests, dodaliśmy opcję filtrowania, aby umożliwić wyszukiwanie ich przy użyciu gałęzi docelowej.

Zrzut ekranu przedstawiający opcje filtrowania dla żądania ściągnięcia w usłudze Azure Pipelines.

Możesz również użyć filtrowania docelowej gałęzi, aby dostosować widok żądań pobrania na karcie Mine.

Zrzut ekranu przedstawiający dostosowywanie wniosku ściągnięcia na zakładce Moje.

Zezwalaj rozszerzeń na dodawanie wyróżniania składni i autouzupełniania

Obecnie publikujemy wyróżnianie składni dla podzbioru języków obsługiwanych przez edytor Monaco. Jednak wielu z was chce stworzyć własne wyróżnianie składni dla języków, których nie obsługujemy.

Dzięki tej aktualizacji dodaliśmy punkt rozszerzalności, który umożliwia rozszerzeniom dodanie wyróżniania składni i autouzupełniania do eksploratora plików i widoku żądań.

Przykład rozszerzenia demonstrujące tę funkcję można znaleźć tutaj.

Ponadto dodaliśmy obsługę wyróżniania składni języka Kusto.

Punkt rozszerzenia tworzenia repozytorium

Dodaliśmy punkt rozszerzenia, aby umożliwić dodawanie nowych elementów do selektora repozytorium. Ten punkt rozszerzenia umożliwia dodawanie akcji niestandardowych (przekierowań, wyskakujących okienek itp.) do menu selektora repozytorium, umożliwiając przepływy, takie jak scenariusze tworzenia repozytorium alternatywnego.

Zrzut ekranu przedstawiający rozszerzenie tworzenia repozytorium.

Ulepszona obsługa kodowania

Wcześniej edytowanie i zapisywanie plików w Internecie powodowało zapisanie wyłącznie w kodowaniu UTF-8, i nie informowaliśmy cię o zmianie kodowania pliku. Teraz otrzymasz ostrzeżenie podczas próby zapisania pliku, który nie jest zakodowany w formacie UTF za pośrednictwem sieci Web (który obsługuje tylko kodowanie UTF). Ponadto dodaliśmy obsługę kodowania UTF-16 i UTF-32 za pośrednictwem punktu końcowego powiadomień push. Oznacza to, że zachowamy typ kodowania, aby nie trzeba było ich ponownie pisać jako UTF-8.

Poniższy zrzut ekranu przedstawia przykład okna dialogowego, które zobaczysz, gdy wprowadzasz zmiany kodowania poprzez powiadomienie webowe.

Zrzut ekranu przedstawiający ostrzeżenie informujące o tym, że dodano znaki inne niż ASCII. Zatwierdzenie spowoduje kodowanie tego pliku jako Unicode.

Uzyskaj wsparcie dla polecenia 'get' w usłudze Azure Repos

Go to język programowania open source, nazywany również językiem Golang. W języku Go możesz użyć polecenia get do pobierania i instalowania pakietów i zależności. Dzięki tej aktualizacji dodaliśmy obsługę go get w repozytorium Usługi Azure DevOps. Za pomocą go getmożna pobrać pakiety z ich zależnościami nazwanymi ścieżkami importu. Aby określić ścieżkę importu, możesz użyć słowa klucza import.

Rurociągi

Edytor internetowy z funkcją IntelliSense dla potoków YAML

Jeśli używasz języka YAML do definiowania potoków, możesz teraz skorzystać z nowych funkcji edytora wprowadzonych w tej wersji. Niezależnie od tego, czy tworzysz nowy potok YAML, czy edytujesz istniejący, możesz edytować plik YAML w internetowym edytorze. Użyj Ctrl+Spacja dla obsługi funkcji IntelliSense podczas edytowania pliku YAML. Zobaczysz wyróżnione błędy składni, a także uzyskaj pomoc dotyczącą poprawiania tych błędów.

Zrzut ekranu przedstawiający wyróżnione błędy składni.

Asystent zadań do edytowania plików YAML

Nadal otrzymujemy wiele opinii z prośbą o ułatwienie edytowania plików YAML dla potoków, dlatego dodajemy asystenta zadań do edytora YAML. Dzięki temu będziesz mieć takie samo znane środowisko dodawania nowego zadania do pliku YAML, jak w edytorze klasycznym. Ten nowy asystent obsługuje większość typowych typów danych wejściowych zadań, takich jak listy wyboru i połączenia usługowe. Aby użyć nowego asystenta zadań, wybierz pozycję Edytuj w potoku opartym na języku YAML, a następnie wybierz asystenta zadań .

krótki film wideo pokazujący, jak edytować pliki YAML za pomocą Asystenta zadań. asystent zadań

Wyzwalanie potoków YAML przy użyciu tagów

Potoki YAML można wyzwalać, gdy tagi zostaną dodane do komitu. Jest to przydatne w przypadku zespołów, których przepływy pracy zawierają tagi. Na przykład możesz rozpocząć proces, gdy zatwierdzenie zostanie oznaczone jako "ostatni znany dobry".

Możesz określić tagi do uwzględnienia i wykluczenia. Na przykład:

trigger:
  tags:
    include:
    - releases/*
    exclude:
    - releases/old*

Deklarowanie wbudowanych zasobów kontenera

Wcześniej wymagaliśmy, abyś deklarował swoje zasoby kontenera w potokach YAML, a następnie odwoływał się do nich według nazwy. Teraz oferujemy składnię w linii w przypadkach, w których nie będziesz odwoływać się do kontenera wielokrotnie.

jobs:
- job: my-container-job
  container:
    image: microsoft/dotnet:latest

Ustawienie automatycznego anulowania istniejącego pipeline'u, gdy zostanie zaktualizowane żądanie ściągnięcia.

Domyślnie potoki wyzwalane przez prośby o scalenie (PR) zostaną przerwane, jeśli nowy commit zostanie wypchnięty do tej samej prośby o scalenie. Jest to pożądane w większości przypadków, ponieważ zazwyczaj nie chcesz kontynuować działania pipeline'u na nieaktualnym kodzie. Jeśli nie chcesz tego zachowania, możesz dodać autoCancel: false do wyzwalacza PR.

pr:
  branches:
    include:
    - main
    - releases/*
  autoCancel: false

Wybierz katalog z wyewidencjonowanym kodem w potokach YAML

Wcześniej wyewidencjonowaliśmy repozytoria do katalogu s w obszarze $(Agent.BuildDirectory). Teraz możesz wybrać katalog, w którym repozytorium Git zostanie wyewidencjonowane do użycia z potokami YAML.

Użyj słowa kluczowego path w checkout i będziesz kontrolować strukturę folderów. Poniżej przedstawiono przykład kodu YAML, którego można użyć do określenia katalogu.

steps:
- checkout: self
  path: my-great-repo

W tym przykładzie Twój kod zostanie skopiowany do katalogu my-great-repo w obszarze roboczym agenta. Jeśli nie określisz ścieżki, repozytorium będzie nadal umieszczone w katalogu o nazwie s.

Nowe zadania usługi Azure App Service zoptymalizowane pod kątem kodu YAML

Teraz obsługujemy cztery nowe zadania, które zapewniają łatwy, ale zaawansowany sposób wdrażania usług Azure App Services z myślą o nowoczesnych deweloperach. Te zadania mają zoptymalizowaną składnię YAML, która ułatwia i intuicyjne tworzenie wdrożeń w usłudze Azure AppServices, w tym usług WebApps, FunctionApps, WebApps for Containers i FunctionApp for Containers na platformach Windows i Linux.

Obsługujemy również nowe zadanie narzędzia do przekształcania plików i zastępowania zmiennych dla formatów XML i JSON.

Zmiany uprawnień domyślnych dla nowych projektów

Do tej pory współautorzy projektu nie mogli tworzyć potoków, chyba że jawnie otrzymują uprawnienie "Utwórz definicję kompilacji". W przypadku nowych projektów członkowie zespołu mogą łatwo tworzyć i aktualizować strumienie pracy. Ta zmiana zmniejszy tarcie dla nowych klientów, którzy dołączają do usługi Azure Pipelines. Zawsze możesz zaktualizować domyślne uprawnienia w grupie Współautorzy i ograniczyć ich dostęp.

Zarządzanie wydaniami usługi GitHub przy użyciu potoków

Wersje usługi GitHub to doskonały sposób tworzenia pakietów i udostępniania oprogramowania użytkownikom. Z przyjemnością ogłaszamy, że możesz teraz zautomatyzować ten proces za pomocą zadania GitHub Release w Azure Pipelines. Za pomocą zadania można utworzyć nową wersję, zmodyfikować istniejące wersje robocze/opublikowane lub odrzucić starsze. Obsługuje ona funkcje, takie jak przekazywanie wielu zasobów, oznaczanie wydania jako wersji wstępnej, zapisywanie wydania jako wersji roboczej i wiele innych. To zadanie również pomaga w tworzeniu informacji o wersji. Może również automatycznie obliczyć zmiany (zatwierdzenia i skojarzone problemy), które zostały wprowadzone w tej wersji, i dodać je do informacji o wersji w przyjaznym dla użytkownika formacie.

Oto prosty kod YAML zadania:

task: GithubRelease@0 
displayName: 'Create GitHub Release'      
inputs:
  githubConnection: zenithworks
  repositoryName: zenithworks/pipelines-java
  assets: $(build.artifactstagingdirectory)/*.jar

zrzut ekranu przedstawiający okno dialogowe wydania GitHub (wersja zapoznawcza).

Przykładowa wersja usługi GitHub utworzona przy użyciu tego zadania:

Zrzut ekranu przedstawiający przykładową wersję usługi GitHub utworzoną przy użyciu tego zadania.

Teraz możesz udostępnić link do określonych wierszy w dzienniku kompilacji. Pomoże to podczas współpracy z innymi członkami zespołu w diagnozowaniu błędów kompilacji. Po prostu wybierz wiersze dziennika z widoku wyników, aby uzyskać ikonę linku.

Zrzut ekranu przedstawiający plik dirs.proj rozwiązania kompilacji z wyróżnionym wierszem dziennika i wyróżnioną opcją Kopiuj łącze do tego wyboru.

Ulepszenia autoryzacji zasobów

Aby zapewnić bezpieczeństwo chronionych zasobów (np. połączeń z usługą, grup zmiennych, pul agentów, bezpiecznych plików) podczas odwołwania się do pliku YAML. Jednocześnie chcieliśmy ułatwić konfigurowanie potoków korzystających z tych typów zasobów w scenariuszach nieprodukcyjnych i korzystanie z nich. Wcześniej dodaliśmy opcję, aby oznaczyć zasób jako „autoryzowany do użycia we wszystkich pipeline'ach”.

Dzięki tej aktualizacji ułatwiamy rozwiązanie problemu z autoryzacją zasobów, nawet jeśli nie oznaczono zasobu jako takiego. W nowym środowisku, gdy kompilacja zakończy się niepowodzeniem z powodu błędu autoryzacji zasobów, zostanie wyświetlona opcja jawnego autoryzowania użycia tych zasobów w potoku, a następnie kontynuowanie. Członkowie zespołu z uprawnieniami do autoryzowania zasobów będą mogli wykonać tę akcję bezpośrednio z kompilacji zakończonej niepowodzeniem.

Zrzut ekranu przedstawiający podsumowanie potoku z błędem autoryzacji.

Nowe punkty wkładu do rozszerzeń w zakładce Testy potoków

Nadal zwiększamy możliwości struktury rozszerzeń, dodając dwa nowe punkty rozszerzeń na zakładce Wyniki testów w potokach. Umożliwi to rozszerzenia witryny Marketplace zapewnić bardziej dostosowane środowiska raportowania i zwiększyć interakcyjność.

Dwa punkty wkładu to:

  1. przycisk akcji niestandardowej na pasku narzędzi

    Czasami może być konieczne wykonanie akcji, takiej jak aktualizowanie danych interfejsu API lub uruchamianie niestandardowych narzędzi przy użyciu metadanych z wyników testu. Za pomocą tego punktu wkładu można tworzyć rozszerzenia, które używają bezpośredniego kontekstu wybranego wyniku testu, aby dodać akcję niestandardową do przycisku *Akcja niestandardowa.

    Zrzut ekranu przedstawiający opcję Akcja niestandardowa.

  2. Karta niestandardowych szczegółów w okienku szczegółów

    Możesz mieć różnorodne przepływy pracy dotyczące wykorzystania raportów testowych i możesz chcieć zobaczyć różne punkty danych w odniesieniu do nieudanych testów, aby ułatwić debugowanie i analizę. Korzystając z tego punktu współtworzenia, zespół może dodać nową kartę do okienka szczegółów, które pojawi się po wybraniu dowolnego wiersza wyników testu w siatce danych. Ta nowa karta może wyświetlać widok z zawartością statyczną lub danymi dynamicznymi pobranymi przy użyciu wewnętrznych lub zewnętrznych interfejsów API.

Agent uruchamiany jednorazowo

Jeśli używasz infrastruktury, takiej jak Azure Container Instances do uruchamiania elastycznych agentów prywatnych, często chcesz, aby każdy agent akceptował tylko jedno zadanie przed odejściem. Do tej pory nie było to łatwe, ponieważ trzeba było zakończyć działalność agenta (co może prowadzić do zgłoszenia błędu) lub zaakceptować ryzyko, że agent może otrzymać kolejne zadanie, zanim zostanie zamknięty. Dzięki tej aktualizacji dodaliśmy flagę --once do konfiguracji agenta. Po skonfigurowaniu agenta w ten sposób zaakceptuje tylko jedno zadanie, a następnie zamknie się.

Aktualizacja interfejsu użytkownika puli agentów

Strona zarządzania pulami agentów w ustawieniach projektu została zaktualizowana przy użyciu nowego interfejsu użytkownika. Teraz możesz łatwo wyświetlić wszystkie zadania, które są uruchomione w puli. Ponadto możesz dowiedzieć się, dlaczego zadanie nie działa.

Zrzut ekranu przedstawiający aktualizację doświadczenia użytkownika puli agentów (UX)

Wdrażanie w nieudanych miejscach docelowych w grupie wdrożeń

Domyślnie Azure Pipelines były używane do ponownego uruchamiania wszystkich zadań podczas ponownego wdrażania wcześniej nieudanego uruchomienia. Teraz możesz zastąpić to zachowanie, konfigurując opcję wdrażania podczas wdrażania. Po wybraniu opcji Wszystkie zadania, z ograniczeniem do nieudanych obiektów docelowych w grupie wdrożeń, ponowne uruchomienie wykona wszystkie zadania, pomijając wdrożenia do obiektów docelowych, które są już zaktualizowane.

Zrzut ekranu przedstawiający wybraną opcję Wdróż, niepowodzenie testu i sekcję Opcje wdrożenia.

Automatyczne ponowne wdrażanie po awarii

Gdy wdrożenie na etapie zakończy się niepowodzeniem, usługa Azure Pipelines może teraz automatycznie ponownie wdrożyć ostatnie pomyślne wdrożenie. Etap można skonfigurować tak, aby automatycznie wdrażał ostatnią pomyślną wersję, konfigurując wyzwalacz auto-ponownego wdrażania w warunkach po-deploymentu . Planujemy dodać dodatkowe wywołane zdarzenia i akcje do konfiguracji automatycznego ponownego wdrażania w przyszłej iteracji. Aby uzyskać więcej informacji, zobacz dokumentację Grupy wdrożeń.

Zrzut ekranu przedstawiający okno dialogowe Warunki po wdrożeniu, w którym wyróżniono sekcję z wyzwalaczem automatycznego wdrażania.

Hook serwisu adnotacji Grafana

Teraz obsługujemy nowy element zaczepienia usługi, który umożliwia dodawanie adnotacji narzędzia Grafana dla ukończonych zdarzeń do pulpitu nawigacyjnego narzędzia Grafana. Dzięki temu można skorelować wdrożenia ze zmianami w metrykach aplikacji lub infrastruktury, które są wizualizowane na pulpicie nawigacyjnym narzędzia Grafana.

Zrzut ekranu pulpitu nawigacyjnego Grafana pokazujący zmiany w metrykach.

Zapytania dotyczące zadań alertów Azure Monitor

Poprzednia wersja zadania Query Azure Monitors obsługiwała wysyłanie zapytań dotyczących alertów tylko w środowisku monitorowania klasycznego. Ta nowa wersja zadania umożliwia wykonywanie zapytań o alerty dotyczące ujednoliconego środowiska monitorowania wprowadzonego niedawno przez usługę Azure Monitor.

Zrzut ekranu przedstawiający podgląd Query Azure Monitor Alerts.

Wbudowane dane wejściowe pliku specyfikacji w zadaniu Deploy to Kubernetes (Wdrażanie na platformie Kubernetes)

Wcześniej zadanie wdrożenia Kubernetes wymagało podania ścieżki pliku dla konfiguracji. Teraz możesz również dodać konfigurację w trybie wierszowym.

Zrzut ekranu przedstawiający funkcję konfiguracji wbudowanej.

Zadanie instalatora Docker CLI

To zadanie umożliwia instalację dowolnej wersji interfejsu wiersza polecenia platformy Docker na agentach określonych przez użytkownika.

Zrzut ekranu przedstawiający zainstalowaną bibliotekę DockerCLI.

Przywracanie usuniętych potoków wydania

Usunięcie nieużywanych potoków wydania pomaga zachować czystą listę potoków wydania, ale czasami usuwasz coś przez pomyłkę. Dzięki tej aktualizacji możesz teraz przywrócić pipeline wydawniczy, który został usunięty w ciągu ostatnich 30 dni. Dodaliśmy nową zakładkę do lewego panelu na stronie Wydań, która będzie wyświetlać listę usuniętych potoków wydawniczych. W tym widoku możesz przywrócić usunięty potok wydania, wybierając potok z listy i klikając przycisk Przywróć.

Zrzut ekranu przedstawiający opcję przywracania dla pipelinów.

Powiadomienia o niepowodzeniu żądania utworzenia wydania

Powiadomienia można ustawić tak, aby otrzymywać wiadomości e-mail w miarę wprowadzania zmian w kompilacjach, bazie kodu i innych operacjach. Możesz na przykład ustawić alert, aby otrzymywać powiadomienia o przypisaniu elementu roboczego.

Dzięki tej aktualizacji dodaliśmy nową subskrypcję powiadomień do kategorii Release. Powiadomienie to wyśle wiadomość e-mail, gdy żądanie utworzenia wersji zakończy się niepowodzeniem. Przykładowy scenariusz, w którym może to być przydatne, to sytuacja, gdy prośba o utworzenie wydania zostaje odrzucona, ponieważ wersja artefaktu nie jest dostępna. Aby dowiedzieć się, jak zarządzać powiadomieniami, zobacz dokumentację tutaj.

Zrzut ekranu przedstawiający Kreatora nowej subskrypcji z wyróżnioną kategorią Wydanie oraz podkreśloną opcją Żądanie utworzenia wydania nie powiodło się.

Planowanie wydań dotyczących zmiany źródła lub potoku

Wcześniej, gdy działał zaplanowany wyzwalacz, wydanie było wyzwalane nawet wtedy, gdy nie wykryto żadnych zmian w artefakcie upstream lub w definicji wydania. Dodano opcję w panelu wyzwalacza harmonogramu, aby zaplanować wydania tylko wtedy, gdy wersja artefaktu lub definicja wydania uległy zmianie.

Zrzut ekranu przedstawiający sekcję Wyzwalacz zaplanowanego wydania z opcją Tylko zaplanuj wydania, jeśli źródło lub potok został wywołany.

Punkt wkładu zmiennych w oknie dialogowym tworzenia wydania

Wcześniej wartości zmiennych wymaganych podczas tworzenia wydania musiały zostać wprowadzone przez użytkownika bez żadnej pomocy ani sugestii. Dodaliśmy punkty wkładu do okna dialogowego Tworzenie nowej wersji, aby obsługiwać rozszerzenia, które ułatwiają wypełnianie wartości zmiennej podczas tworzenia wersji.

Zrzut ekranu okna dialogowego

Publikowanie na kolejkach sesji usługi Azure Service Bus

Rozszerzyliśmy zadanie kompilacji bez agenta, aby uwzględnić możliwość publikowania komunikatów w kolejkach sesyjnych. Opcja ta została dodana do zadania Publikuj w usłudze Azure Service Bus.

zrzut ekranu zadania „Publikuj w usłudze Azure Service Bus”.

Nowa opcja subskrypcji platformy Azure w połączeniu z usługą Kubernetes

Połączenia usług dla kompilacji i wydań umożliwiają łączenie się z usługami zewnętrznymi i zdalnymi w celu wykonywania zadań na potrzeby kompilacji lub wdrożenia. Możesz zdefiniować i zarządzać połączeniem usługi z poziomu ustawień administratora projektu.

Dzięki tej aktualizacji dodaliśmy opcję uwierzytelniania do formularza połączenia usługi Kubernetes. Teraz możesz wybrać subskrypcję Azure w celu uwierzytelnienia połączenia. Ułatwia to wdrażanie w określonych przestrzeniach nazw poprzez skonfigurowanie połączeń Kubernetes z subskrypcją platformy Azure i nazwą klastra.

W klastrze z włączoną kontrolą dostępu opartą o role (RBAC), obiekty ServiceAccount i RoleBinding są tworzone w wybranej przestrzeni nazw. Obiekt RoleBinding ogranicza operacje utworzonego konta usługi tylko do wybranej przestrzeni nazw. W przypadku klastra z wyłączonym RBAC, utworzone konto usługi ma uprawnienia w całym klastrze we wszystkich przestrzeniach nazw.

Zrzut ekranu przedstawiający okno dialogowe Dodaj połączenie z usługą Kubernetes z zaznaczoną opcją Subskrypcja platformy Azure.

Usługa Azure Container Registry w połączeniu z usługą rejestru platformy Docker

Teraz możesz utworzyć połączenie usługi rejestru platformy Docker ze strony ustawień projektu. Aby utworzyć połączenie, wybierz rejestr kontenerów platformy Azure w jednej z subskrypcji skojarzonych z tożsamością usługi Azure Active Directory (AAD). Wszystkie zadania wymagające połączeń usługi z rejestrami kontenerów, takie jak Docker@2 i KubernetesManifest@0, będą obsługiwać jeden sposób określania połączenia.

Zrzut ekranu przedstawiający sposób dodawania połączenia z usługą platformy Docker.

Wyszukiwanie według nazwy folderu w definicjach wydania

Definicje wersji można organizować, przechowując je w folderach. Wcześniej nie było możliwości wyszukiwania według folderu. Trudno było znaleźć określoną definicję wydania, jeśli utworzono wiele folderów. Teraz możesz wyszukiwać według nazwy folderu w definicji wydania, co ułatwia znajdowanie szukanych definicji.

Zrzut ekranu przedstawiający definicje wersji przechowywane w folderach.

Zadanie instalatora narzędzia Duffle w potoku kompilacji i wydania

Duffle to narzędzie wiersza polecenia, które umożliwia instalowanie pakietów aplikacji natywnych w chmurze (CNAB) i zarządzanie nimi. Za pomocą baz danych CNAB można dołączać aplikacje natywne dla kontenerów i ich usługi oraz zarządzać nimi.

W tej aktualizacji dodaliśmy nowe zadanie dla pipeline'ów kompilacji i publikacji, które umożliwia zainstalowanie konkretnej wersji binariów Duffle.

zrzut ekranu instalatora narzędzia Duffle.

Zadanie manifestu platformy Kubernetes

Dodaliśmy nowe zadanie do potoków wydania, aby uprościć proces wdrażania w klastrach Kubernetes przy użyciu plików manifestu. To zadanie zapewni następujące korzyści w porównaniu z użyciem pliku binarnego kubectl w skryptach:

  • Zamiana artefaktów — akcja wdrażania przyjmuje jako dane wejściowe listę obrazów kontenerów, które można określić za pomocą tagów lub skrótów. Zastępuje się to w wersji plików manifestu, która nie jest szablonowa, przed zastosowaniem jej do klastra, aby upewnić się, że odpowiednia wersja obrazu jest pobierana przez węzły klastra.

  • Stabilność manifestu — status wdrażania sprawdzany jest dla obiektów Kubernetes, aby uwzględnić kontrole stabilności podczas określania, czy zadanie zakończyło się powodzeniem czy porażką.

  • Adnotacje dotyczące możliwości śledzenia — adnotacje są dodawane do wdrożonych obiektów Kubernetes w celu zastępowania informacji śledzenia dotyczących organizacji źródłowej, projektu, potoku i uruchamiania.

  • Manifest bake — akcja bake zadania umożliwia generowanie wykresów Helm w plikach manifestów Kubernetes, dzięki czemu można je zastosować w klastrze.

  • Strategia wdrażania — wybranie strategii kanarowej z akcją wdrażania prowadzi do utworzenia żądanego procentu obciążeń sufiksowanych przy użyciu -baseline i -canary, aby można je było porównać podczas zadania ManualIntervention przed użyciem działania podwyższania/odrzucania zadania w celu sfinalizowania przechowywania wersji.

steps:
- task: KubernetesManifest@0
  name: bake
  displayName: Bake K8s manifests from Helm chart
  inputs:
    action: bake
    helmChart: charts/sample
    overrides: 'image.repository:nginx'

- task: KubernetesManifest@0
  displayName: Deploy K8s manifests
  inputs:
    kubernetesServiceConnection: k8sSC1
    manifests: $(bake.manifestsBundle)
    containers: |
      nginx: 1.7.9

Ulepszenia zadania Docker

Uaktualniliśmy zadanie Docker, aby uprościć proces tworzenia potoku. Polecenie buildAndPush może teraz służyć do kompilowania wielu tagów dla określonego repozytorium kontenerów i wypychania go do wielu rejestrów kontenerów w jednym kroku. Zadanie może używać połączeń serwisowych rejestru Docker do logowania się do rejestrów kontenerów. Metadane śledzenia dotyczące repozytorium źródłowego, zatwierdzania i kompilowania są dodawane jako etykiety do obrazów utworzonych przy użyciu tego zadania.

steps:
- task: Docker@2
  displayName: Container registry login - ACR1 service connection
  inputs:
    command: login
    containerRegistry: acr1
- task: Docker@2
  displayName: Container registry login - ACR2 service connection
  inputs:
    command: login
    containerRegistry: acr2
- task: Docker@2
  displayName: Build and push images
  inputs:
    repository: test
    tags: |
      d1
      d2

Instalator narzędzia Kubectl

Dodaliśmy nowe zadanie umożliwiające zainstalowanie określonej wersji pliku binarnego Kubectl na agentach. Ciągi wersji i semver, takie jak "v1.14.0", są akceptowane jako prawidłowe wartości danych wejściowych specyfikacji wersji kubectl.

Zrzut ekranu przedstawiający instalator narzędzia Kubectl. instalator narzędzia kubectl

Ulepszenia integracji z usługą ServiceNow

Kluczową zdolnością współpracy między zespołami jest umożliwienie każdemu zespołowi korzystania z wybranej usługi i efektywnego dostarczania od początku do końca. Dzięki tej aktualizacji ulepszyliśmy integrację usługi ServiceNow, aby obsługiwać wszystkie typy zmian (normalne, standardowe i awaryjne). Ponadto można teraz określić bramę używaną do tworzenia nowego żądania zmiany przy użyciu istniejącego szablonu, zgodnie z procesem ITSM obserwowanym w organizacji. Na koniec można również kontrolować wersje na podstawie istniejących żądań zmiany. Dzięki temu można wdrożyć ciągłe dostarczanie bez konieczności zmiany procesu zalecanego przez zespoły IT.

zrzut ekranu przedstawiający funkcję zarządzania zmianami w usłudze ServiceNow.

Obsługa systemu Red Hat Enterprise Linux 6

Dzięki tej aktualizacji dodaliśmy obsługę agenta dla systemu Red Hat Enterprise Linux 6. Teraz można skonfigurować agentów przeznaczonych dla platformy Red Hat Enterprise Linux 6 na potrzeby wykonywania zadań kompilacji i wydania.

Obsługa modułu Az programu Azure PowerShell

Program Azure PowerShell udostępnia zestaw poleceń cmdlet, których można użyć do zarządzania zasobami platformy Azure z poziomu wiersza polecenia. W grudniu ubiegłego roku moduł Az programu Azure PowerShell stał się dostępny i jest teraz przeznaczonym modułem do zarządzania zasobami platformy Azure.

Wcześniej nie zapewniliśmy obsługi modułu Az programu Azure PowerShell w naszych hostowanych agentach. W przypadku nowego zadania programu Azure PowerShell w wersji 4.* w potokach kompilacji i wydania dodaliśmy obsługę nowego modułu Az dla wszystkich platform. Zadanie Azure PowerShell w wersji 3.* będzie nadal obsługiwać moduł AzureRM. Jednak aby nadążyć za najnowszymi usługami i funkcjami platformy Azure, zalecamy, aby jak najszybciej przełączyć się do zadania programu Azure PowerShell w wersji 4.* .

Moduł Az ma tryb zgodności, który ułatwia korzystanie z istniejących skryptów podczas aktualizowania ich do używania nowej składni. Aby włączyć zgodność modułu Az, użyj polecenia Enable-AzureRmAlias. Aliasy umożliwiają używanie z modułem Az starych nazw cmdlet. Aby uzyskać więcej informacji na temat migracji z modułu Azure RM do modułu Az programu Azure PowerShell, kliknij tutaj.

Notatka

Jeśli używasz prywatnych agentów, musisz zainstalować moduł Az na maszynie agenta.

Aby uzyskać więcej informacji na temat modułu Az programu Azure PowerShell, zobacz dokumentację tutaj.

Obsługa uwierzytelniania usługi Azure Active Directory (AD) dla zadania usługi Azure SQL

Zadanie usługi Azure SQL zostało ulepszone w celu obsługi nawiązywania połączenia z bazą danych przy użyciu usługi Azure AD (zintegrowanego hasła &) i parametrów połączenia oprócz istniejącej obsługi uwierzytelniania programu SQL Server.

Zrzut ekranu przedstawiający okno dialogowe Wdrażanie usługi Azure SQL Database z wyróżnioną opcją listy rozwijanej Typ uwierzytelniania.

Publikowanie artefaktów kompilacji z długimi ścieżkami plików

Do tej pory istniało ograniczenie uniemożliwiające przesyłanie artefaktów kompilacji ze ścieżkami dłuższymi niż 233 znaki. Może to uniemożliwić Ci przesyłanie wyników pokrycia kodu z kompilacji w systemach Linux i macOS, gdy ścieżki plików są dłuższe niż dozwolony limit. Limit został zaktualizowany w celu obsługi długich ścieżek.

Pomiń ciągłą integrację (CI) podczas zatwierdzania

Teraz możesz poprosić usługę Azure Pipelines o zignorowanie zatwierdzenia i pominięcie uruchomienia potoku, który zwykle jest wyzwalany przez to zatwierdzenie. Po prostu uwzględnij [skip ci] w komunikacie zatwierdzenia HEAD, a Azure Pipelines pominie CI. Możesz również użyć dowolnych odmian wymienionych poniżej. Jest to obsługiwane w przypadku zatwierdzeń w usługach Azure Repos Git i GitHub Enterprise Server.

  • [skip ci] lub [ci skip]
  • skip-checks: true lub skip-checks:true
  • [skip azurepipelines] lub [azurepipelines skip]
  • [skip azpipelines] lub [azpipelines skip]
  • [skip azp] lub [azp skip]
  • ***NO_CI***

Plany testów

Widżet trendu wyników testu (zaawansowane)

Widżet Trend wyników testów (zaawansowany) zapewnia prawie rzeczywisty wgląd w dane testowe dla wielu wersji i wydań. Widżet Zaawansowany trend wyników testów wyświetla trend wyników Twoich testów dla potoków lub między nimi. Możesz używać go do śledzenia dziennej liczby testu, współczynnika zaliczeń i czasu trwania testu. Monitorowanie jakości testów na przestrzeni czasu i ulepszanie zasobów testowych jest kluczem do utrzymania zdrowego potoku DevOps.

zrzut ekranu przedstawiający widżet Trend wyników testu (zaawansowane).

Widżet Test result trend (Advanced) pomaga znaleźć wartości odstające w wynikach testu i odpowiedzieć na pytania, takie jak: czy testy trwają dłużej niż zwykle? Jaki plik testowy lub potok ma wpływ na ogólną szybkość przekazywania? Jakie są moje długotrwałe testy?

Aby ułatwić udzielenie odpowiedzi na te pytania, widżet udostępnia następujące funkcje:

  • Wyświetla trend zdawalności oraz liczbę wyników testu lub czas trwania testu
  • Przedstawia wyniki testów na podstawie wielu potoków kompilacji lub potoków wydania
  • Używa połączonych opcji wykresu do wyświetlania dwóch metryk w tym samym trendzie
  • Filtruje liczbę testów w czasie według wyniku testu
  • Filtruje wszystkie wyniki testów według gałęzi lub testu
  • ** Układa metryki według atrybutów testowych, takich jak priorytet lub środowisko.
  • Grupuj dane dotyczące plików testowych, właściciela lub potoków

Widżet jest wysoce konfigurowalny, co umożliwia korzystanie z niego w wielu różnych scenariuszach.

Udostępnianie wyników przebiegu testu za pośrednictwem adresu URL

Testy automatyczne można skonfigurować do uruchamiania w ramach kompilacji lub wydania. Opublikowane wyniki testu można wyświetlić na karcie testy w podsumowaniu kompilacji lub wydania. Dzięki tej aktualizacji dodaliśmy funkcję kopiowania adresu URL wyników, aby umożliwić udostępnianie wyników jednego testu innym osobom w zespole.

Poziomy udostępniania obejmują:

  • Poziom uruchomienia
  • Poziom wyników
  • Pojedyncza karta wybrana w ramach przebiegu testu
  • Udostępnianie jest również zgodne z dowolnymi skonfigurowanymi kartami rozszerzeń

Po udostępnieniu adresu URL osoby przeglądające zobaczą wyniki przebiegu testu w widoku pełnoekranowym.

Artefakty

Pakiety NuGet z numerami wersji SemVer 2.0.0

Wcześniej usługa Azure Artifacts nie obsługiwała pakietów NuGet z numerami wersji SemVer 2.0.0 (ogólnie numery wersji, które zawierają część metadanych kompilacji wersji, co jest oznaczone przez +). Teraz możesz zapisywać pakiety z nuget.org, które zawierają metadane kompilacji i wypychać własne pakiety przy użyciu metadanych kompilacji. Zgodnie z specyfikacją SemVer i zasadami NuGet.org, metadanych kompilacji nie można używać do ustalania kolejności pakietów. Dlatego nie można opublikować zarówno 1.0.0+build1, jak i 1.0.0+build2 w usłudze Azure Artifacts (lub nuget.org), ponieważ te wersje będą traktowane jako równoważne, a tym samym podlegają ograniczeniom niezmienności .

Informacje dotyczące pochodzenia pakietów

Dzięki tej aktualizacji nieco łatwiej zrozumieliśmy pochodzenie pakietów: kto lub co je opublikował, i z jakiego zatwierdzenia kodu źródłowego pochodzą. Te informacje są wypełniane automatycznie dla wszystkich pakietów publikowanych przy użyciu NuGet, npm, Maveni Twine Authenticate (dla języka Python) w usłudze Azure Pipelines.

Statystyki użycia pakietu

Do tej pory usługa Azure Artifacts nie zapewniała możliwości pomiaru użycia ani popularności pakietów. Dzięki tej aktualizacji dodaliśmy liczbę Pobrań i Użytkowników zarówno do stron listy pakietów, jak i szczegółów pakietu. Statystyki można zobaczyć po prawej stronie każdej ze stron.

Zrzut ekranu przedstawiający statystyki użycia pakietu.

Obsługa pakietów języka Python

Usługa Azure Artifacts może teraz hostować pakiety języka Python: zarówno pakiety, które tworzysz samodzielnie, jak i nadrzędne pakiety zapisane z publicznego interfejsu PyPI. Aby uzyskać więcej informacji, zobacz wpis na blogu dotyczący ogłoszenia i dokumentację .

Możesz teraz hostować wszystkie pakiety NuGet, npm, Maven i Python w tym samym kanale.

Zrzut ekranu przedstawiający wszystkie pakiety hostowane w tym samym kanale informacyjnym.

Źródła nadrzędne dla narzędzia Maven

Źródła nadrzędne są teraz dostępne dla kanałów Maven. Obejmuje to podstawowe repozytorium Maven Central i źródła danych usługi Azure Artifacts. Aby dodać nadrzędne strumienie Maven do istniejącego kanału informacyjnego, odwiedź Ustawienia kanału informacyjnego, wybierz kartę Źródła nadrzędne, a następnie wybierz pozycję Dodaj źródło nadrzędne.

Zrzut ekranu przedstawiający opcję Dodaj nadrzędne źródło.

Do tej pory wiele zadań kompilacji związanych z artefaktami nie zapewniało pełnego wsparcia dla infrastruktury proxy Azure Pipelines, co skutkowało trudnościami przy używaniu tych zadań z agentów lokalnych. Dzięki tej aktualizacji dodaliśmy obsługę serwerów proxy do następujących zadań:

  • Npm@1 ('npm' w projektancie)
  • NuGetCommand@2 ("NuGet" w projektancie): tylko polecenia przywracania i wypychania
  • DotNetCoreCLI@2 ('.NET Core' w projektancie): tylko polecenia przywracania i nuget push
  • NpmAuthenticate@0, PipAuthenticate@0 i TwineAuthenticate@0 ("[type] Authenticate" w projektancie): Te zadania obsługują serwer proxy podczas uzyskiwania tokenów uwierzytelniania, ale nadal konieczne jest skonfigurowanie wszelkich kolejnych zadań/skryptów/narzędzi do używania serwera proxy. Innemi słowy, te zadania nie konfigurują serwera proxy dla bazowego narzędzia (npm, pip, twine).
  • NuGetToolInstaller@0, NodeTool@0, DotNetCoreInstaller@0 ("[type] Installer" w edytorze projektowania)

Wszystkie typy pakietów Artifacts obsługiwane w wersjach

Do tej pory w wydaniach Pipelines w ramach typu artefaktu Azure Artifacts obsługiwano tylko pakiety NuGet. Dzięki tej aktualizacji obsługiwane są wszystkie typy pakietów usługi Azure Artifacts — Maven, npm i Python.

Widoki artefaktów obsługiwane w wersjach

Wcześniej typ artefaktu usługi Azure Artifacts mógł być wyzwalany tylko wtedy, gdy nowe wersje pakietu zostały opublikowane w kanale informacyjnym. Teraz dodaliśmy również obsługę widoków, dzięki czemu można wyzwalać wydania, gdy pakiety już w kanale informacyjnym są promowane do widoku.

Zasady przechowywania mogą pomijać ostatnio pobierane pakiety

Do tej pory źródła danych usługi Azure Artifacts oferowały podstawowe zasady przechowywania, które zaczną usuwać stare wersje pakietów po osiągnięciu "maksymalnej liczby wersji na pakiet". Dzięki tej aktualizacji dodaliśmy możliwość pomijania ostatnio pobranych pakietów podczas czyszczenia. Aby włączyć, edytuj kanał informacyjny i zaznacz pole wyboru Pomiń pobrane ostatnio pakiety.

Określ, kto może zarządzać kanałami informacyjnymi

W usłudze Azure Artifacts administratorzy kolekcji projektów (PCA) zawsze mogli administrować wszystkimi kanałami informacyjnymi na serwerze usługi Azure DevOps. Dzięki tej aktualizacji PCA mogą również przekazać tę możliwość innym użytkownikom i grupom, co pozwala na delegowanie zarządzania dowolnym kanałem informacyjnym.

Wiki

Szablony języka Markdown dla formuł i filmów wideo

Nie trzeba już pamiętać składni języka Markdown do dodawania formuł , wideo i tagów YAML podczas edytowania witryny typu wiki. Teraz możesz kliknąć menu kontekstowe na pasku narzędzi i wybrać wybraną opcję.

Zrzut ekranu przedstawiający rozwinięte menu kontekstowe z następującymi opcjami: Spis treści, filmy wideo, tag YAML i formuły.

Osadź wyniki zapytań Azure Boards w Wiki

Teraz możesz osadzić wyniki zapytania usługi Azure Boards na stronie typu wiki w postaci tabeli. Na poniższej ilustracji przedstawiono przykładową stronę wiki z listą wszystkich funkcji wydanych oraz wszystkich aktywnych usterek w bieżącym sprincie osadzonym w wiki. Zawartość wyświetlana na stronie używa istniejącego zapytania elementu roboczego. Dzięki tej nowej funkcji możesz tworzyć zawartość dynamiczną i nie trzeba się martwić o ręczne aktualizowanie strony typu wiki.

Zrzut ekranu przedstawiający osadzone wyniki zapytania w Azure Boards wyświetlane w Wiki.

Wyniki zapytania można dodać w dwóch krokach:

  1. Kliknij przycisk "Wyniki zapytania" na pasku narzędzi edycji.

Zrzut ekranu przedstawiający rozwinięte menu kontekstowe z wywołaną opcją Wyniki zapytania.

  1. Wybierz wymagane zapytanie i kliknij przycisk "Wstaw".

Wyniki zapytania można teraz wyświetlić w postaci tabeli po zapisaniu strony.

zrzut ekranu przedstawiający okno dialogowe Wyniki zapytania.

Czcionka o stałej szerokości dla edytora Markdown wiki

Wraz z wprowadzeniem czcionek monospaced dla edytora języka Markdown typu wiki czytelność nie jest już wyzwaniem. Źródło Markdown wygląda na czyste i łatwe do przeczytania. Ta funkcja została potraktowana priorytetowo na podstawie tej sugestii.

Zrzut ekranu Wiki z czcionką o stałej szerokości.

Do tej pory udostępnione linki stron typu wiki nie działały, jeśli nazwa połączonej strony została zmieniona lub przeniesiona. Wprowadziliśmy stałe linki, dodając identyfikatory stron do adresu URL. Dzięki temu linki, które udostępniasz, pozostaną nienaruszone, ponieważ witryna typu wiki zmienia się wraz z upływem czasu.

Ta funkcja została priorytetowa na podstawie tego zgłoszenia propozycji.

Pokaż stan elementu roboczego na stronach typu wiki

W tej aktualizacji ulepszyliśmy wzmianki o elemencie roboczym na stronach typu wiki, dodając stan elementu roboczego do strony wraz z jego identyfikatorem i tytułem.

Zrzut ekranu przedstawiający rozszerzone wzmianki o elemencie roboczym.

Odwołania do elementów roboczych w komentarzach pull requestów i dyskusjach na Tablicach również będą pokazywać stan.

@mention użytkownicy i grupy

Teraz możesz @mention użytkowników i grup na stronie typu wiki. Dzięki temu dokumenty takie jak strona kontaktowa zespołu, dokumenty ze wskazówkami i dokumenty merytoryczne są bogatsze. Na poniższym obrazie przedstawiono retrospektywę sprintu z zadaniami i osobą odpowiedzialną.

Zrzut ekranu przedstawiający, jak to wygląda, gdy <span class= @mention użytkowników i grup. />

Ponadto możesz również wybrać użytkownika lub grupę z autouzupełniania, wpisując "@" na stronie edycji wiki. Osoba, o której mowa, otrzyma również powiadomienie pocztą.

Zrzut ekranu przedstawiający podpowiedzi automatyczne, które pojawiają się po rozpoczęciu wpisywania <span class= @mention." />

Na koniec możesz również kliknąć użytkownika @mentioned, aby wyświetlić kartę informacji o profilu. Ta funkcja została o priorytyzowana na podstawie tej sugestii funkcji.

Powiadomienia na stronach typu wiki

Do tej pory nie wiesz, kiedy zawartość na stronie typu wiki została zmieniona. Teraz możesz śledzić strony typu wiki, aby otrzymywać powiadomienia pocztą e-mail po edycji, usunięciu lub zmianie nazwy strony. Aby śledzić zmiany wprowadzone w wiki, wybierz przycisk Obserwuj na stronie wiki.

Zrzut ekranu strony typu wiki w usłudze Azure DevOps z wyróżnioną opcją Obserwuj.

Ta funkcja została opryorytetyzowana na podstawie zgłoszenia sugerującego . Aby dowiedzieć się więcej, zobacz naszą dokumentację tutaj.

Obsługa tagów HTML

Teraz możesz tworzyć bogatszą zawartość w witrynie typu wiki przy użyciu tagów HTML. Zapoznaj się z poniższymi tagami HTML.

  1. Teraz możesz tworzyć zwijane sekcje wewnątrz stron typu wiki za pomocą tagów details i summary. Możesz dodać atrybut otwarty, aby domyślnie utrzymać rozwinięte szczegóły.

    Zrzut ekranu przedstawiający zwijane sekcje utworzone za pomocą tagów 'details' i 'summary'.

    Aby uzyskać więcej informacji na temat szczegółów tagu , zapoznaj się z dokumentacją tutaj .

    Zostało to priorytetowo potraktowane na podstawie sugestii w bilecie .

    Notatka

    Ten tag nie jest obsługiwany w przeglądarkach Microsoft Edge i Internet Explorer.

Ulepszone tworzenie i edytowanie tabeli

Do tej pory tworzenie i edytowanie tabel w witrynie typu wiki było trudne. Wprowadziliśmy zmiany, aby ułatwić dodawanie tabel i zarządzanie nimi w witrynie typu wiki.

  1. Tworzenie tabeli na podstawie siatki

    Nie musisz już pamiętać składni tabeli markdown. Teraz możesz łatwo utworzyć tabelę w formacie markdown, wybierając z siatki o wymiarach 15 x 15. Wystarczy wybrać wymaganą liczbę kolumn i wierszy, aby wstawić tabelę jednym kliknięciem.

    Zrzut ekranu przedstawiający pustą stronę typu wiki z wybraną opcją Formatuj tabelę.

    Ta funkcja została ustalona jako priorytet na podstawie następujących zgłoszeń dotyczących sugestii:

  2. Lepsza czytelność tabeli

    Teraz możesz przełączać zawijanie wyrazów, aby edytor miał lepszą czytelność tabel. Wyłączenie zawijania wyrazów powoduje dodanie paska przewijania, który umożliwia łatwiejsze wyświetlanie zawartości dużych tabel.

    zrzut ekranu strony wiki z opcją zawijania tekstu i wyróżnionym poziomym paskiem przewijania.

  3. Autoformatowanie tabel języka Markdown

    Nie musisz już dodawać spacji, aby wyrównać kolumny markdown. Za pomocą przycisku Formatuj tabele tabele markdown są automatycznie dostosowywane poprzez dodanie spacji do komórek w celu wyrównania kolumn. Jeśli masz duże tabele, użyj tego z wyłącz zawijanie tekstu, aby ułatwić czytanie tabel.

    Zrzut ekranu przedstawiający stronę typu wiki z wybraną opcją Formatuj tabele. strony typu wiki

    Możesz również użyć skrótu Ctrl + Shift + F, aby sformatować tabele.

Raportowanie

Rozszerzenie Analytics nie jest już potrzebne do korzystania z Analytics

Analiza staje się coraz bardziej integralną częścią środowiska usługi Azure DevOps. Jest to ważna funkcja, która ułatwia klientom podejmowanie decyzji opartych na danych.

W przypadku aktualizacji Update 1 z przyjemnością ogłaszamy, że klienci nie potrzebują już rozszerzenia Analizy do korzystania z usługi Analytics. Klienci mogą teraz włączyć analizę poniżej ustawień kolekcji projektów. Jest to prosty proces, który znajduje się bezpośrednio w produkcie.

Oto jak klienci mogą włączyć analizę:

  1. Przejdź do pozycji Ustawienia kolekcji projektów:

Zrzut ekranu pokazujący, gdzie znaleźć ustawienia analityki.

  1. Kliknij Włącz analizy

Zrzut ekranu przedstawiający opcję Włącz analizę.

I to wszystko! Doświadczenia oparte na analizie zostaną włączone dla zbioru.

Nowe kolekcje utworzone w kolekcjach Update 1 i Azure DevOps Server 2019 z zainstalowanym rozszerzeniem Analizy, które zostały uaktualnione, będą miały domyślnie włączoną usługę Analytics.

Aby dowiedzieć się więcej o analizie i doświadczeniach, które umożliwia:


Opinie

Chcielibyśmy usłyszeć od Ciebie! Możesz zgłosić problem lub podać pomysł i śledzić go za pośrednictwem Developer Community i uzyskać porady na temat Stack Overflow.


górnej części strony