Udostępnij za pośrednictwem


Azure DevOps Server 2019 Update 1 — informacje o wersji

Skróty SHA-1 bloga | DevOps dotyczące wymagań systemowych | dla | społeczności | deweloperów

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 usługi 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.


Sejf ly upgrade from Azure DevOps Server 2019 to Azure DevOps Server 2020 (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 przebiegu potoku (kompilacji), 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 przebiegów potoku po uaktualnieniu. Przebiegi potoków, które zostały ręcznie zachowane lub są zachowywane przez wydanie, nie zostaną usunięte po uaktualnieniu.

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 9 Data wydania: 28 maja 2024 r.

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

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

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

Uwaga

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żne

 Ta poprawka aktualizuje dostępnego agenta potoku. Nowa wersja agenta po zainstalowaniu poprawki 9 będzie mieć wartość 3.225.0.

Wymagania dotyczące potoku

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. Zobacz tutaj , aby uzyskać więcej informacji na temat zachowania włączonego:

  • W wersji klasycznej:

    Zdefiniuj zmienną na karcie zmiennej 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 67E78EA7D67A09A6E06309614F92E6D8495DEF52FF44E4E7C7979244FAD20A

Opublikowaliśmy poprawkę 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 poprawkę 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 zadań programu PowerShell dla opcji Włącz sprawdzanie poprawności parametrów argumentów zadań powłoki.

Uwaga

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

Instalowanie poprawek

Ważne

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 dokumentacji przekazywania zadań do kolekcji projektów, aby zainstalować i zalogować się za pomocą interfejsu wiersza polecenia 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 potoku

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

  • W wersji klasycznej:

    Zdefiniuj zmienną na karcie zmiennej 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ń na serwerze Azure DevOps Server i serwera Team Foundation Server.

Ważne

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

Uwaga

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 poprawkę 5 usługi Azure DevOps Server 2019 Update 1.2.

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 własnych agentów systemu Windows.  

Uwaga

AZP_AGENT_DOWNGRADE_DISABLED musi być ustawiona na wartość "true", aby zapobiec obniżeniu poziomu agenta. W systemie Windows następujące polecenie może być używane w wierszu polecenia administracyjnego, a następnie ponowne uruchomienie. setx AZP_AGENT_DOWNGRADE_DISABLED true /M

Konfigurowanie rozwiązania TFX

  1. Wykonaj kroki opisane w dokumentacji przekazywania zadań do kolekcji projektów, aby zainstalować i zalogować się za pomocą interfejsu wiersza polecenia 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 przekazać 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 potoku

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

  • W wersji klasycznej:

    Zdefiniuj zmienną na karcie zmiennej 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.
  • 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 usterkę zakłócającą wypychanie 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.

Uwaga

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ę wersji obecnie obsługiwanych przy importowaniu 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. Uaktualnij serwer przy użyciu poprawki 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 PS C:\Program Files\{TFS Version Folder}\Search\zip> .\Configure-TFSSearch.ps1 -Operation update aktualizacji, jak podano 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.

Uwaga

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

  1. Uaktualnij serwer przy użyciu poprawki 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ę w C:\Program Files\{TFS Version Folder}\Search\zip folderze zdalnym elasticsearch.
  4. Uruchom polecenie 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.

Poprawka 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 "Contains Words". Wcześniej zapytania zwracały nieprawidłowe wyniki dla wartości zawierających podział wiersza.
  • 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.

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

  • Rozwiąż problem zgłoszony w tym bilecie opinii społeczności deweloperów.

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

Poprawka 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.

Poprawka 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 tbl_testCaseReferences tabeli. 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.

  • CVE-2021-27067: Ujawnienie informacji
  • Rozwiązywanie problemu zgłoszonego w tym bilecie opinii społeczności deweloperów | Nie można zarejestrować szczegółów iteracji wyników testu w usłudze Azure DevOps Server 2019

Aby zaimplementować poprawki dla tej poprawki, należy wykonać poniższe kroki dotyczące instalacji poprawek ogólnych i instalacji zadań AzureResourceGroupDeploymentV2 .

Ogólna instalacja poprawek

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

Weryfikowanie instalacji

  • Opcja 1. Uruchom devops2019.1.1patch8.exe CheckInstallpolecenie , devops2019.1.1patch8.exe jest plikiem pobranym z powyższego linku. Dane wyjściowe polecenia powiedzą, że poprawka została zainstalowana lub która 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. Program Azure DevOps Server 2019 jest instalowany domyślnie 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

Uwaga

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

Instalowanie

  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 narzędzie 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ć interfejs wiersza polecenia 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 logowania tfx.

  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 serwerze. 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. Zobacz wpis w blogu, aby uzyskać więcej informacji.

  • Szczegóły przebiegu testu nie zawierają szczegółów kroku testu dla danych testowych migrowanych przy użyciu migracji platformy OpsHub
  • Wyjątek dotyczący inicjatora polecenia "Microsoft.TeamFoundation.TestManagement.Server.TCMLogger"
  • Nieretainowane kompilacje są natychmiast usuwane po migracji do usługi Azure DevOps Server 2020
  • Naprawianie wyjątku 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. Zobacz wpis w blogu, aby uzyskać więcej informacji.

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

Ważne

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 program Azure DevOps Server 2019 Update 1.1 Patch 6.

Weryfikowanie instalacji

  • Opcja 1. Uruchom polecenie devops2019.1.1patch6.exe CheckInstall, devops2019.1.1patch6.exe jest plikiem pobranym z powyższego linku. Dane wyjściowe polecenia powiedzą, że poprawka została zainstalowana lub która 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. Program Azure DevOps Server 2019 jest instalowany domyślnie 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

Uwaga

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

Wymagania wstępne

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

  2. Utwórz potok za pomocą zadania AzurePowerShellV4 . W zadaniu zobaczysz tylko jeden błąd niepowodzenie w warstwie Standardowa.

Instalowanie

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

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

  3. Otwórz wiersz polecenia w trybie administratora i uruchom następujące polecenie, aby zainstalować interfejs wiersza polecenia 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 logowania tfx.

  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 serwerze. Ś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. Zobacz wpis w blogu, aby uzyskać więcej informacji.

  • DTS 1713492 — nieoczekiwane zachowanie podczas dodawania grup usługi AD do uprawnień zabezpieczeń.

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. Zobacz wpis w blogu, aby uzyskać więcej informacji.

  • 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 podczas zmieniania wartości 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. Zobacz wpis w blogu, aby uzyskać więcej informacji.

  • 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. Zobacz wpis w blogu, aby uzyskać więcej informacji.

  • 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. Zobacz wpis w blogu, aby uzyskać więcej informacji.

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

  • CVE-2020-0758: Luka w zabezpieczeniach dotycząca podniesienia uprawnień

  • CVE 2020-0815: Luka w zabezpieczeniach dotycząca podniesienia uprawnień


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

Usługa 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.

Uwaga

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ę wersji obecnie obsługiwanych przy importowaniu można znaleźć tutaj.

Ta wersja zawiera poprawki następujących błędów:

Azure Boards

  • Podczas tworzenia nowego elementu roboczego z listy prac produktu pole Tytuł nie jest inicjowane z wartością domyślną w szablonie procesu.
  • Spowolnienie i przekroczenia limitu czasu podczas korzystania z usługi Azure Boards.
  • Poprawiona wartość według jest niepoprawna w linkach elementów roboczych.

Azure Pipelines

Azure Test Plans

  • 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 modułu równoważenia obciążenia musiały jawnie dodać swoje źródło publiczne do wpisu rejestru AllowedOrigins.
  • Klienci, którzy instalują się w Usługi SQL Azure, nie widzą okna dialogowego Ukończenie wersji próbnej.
  • Instalowanie rozszerzeń daje błąd "Komunikat o błędzie 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ącą usterkę. Zobacz wpis w blogu, aby uzyskać więcej informacji.

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

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

Uwaga

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ę wersji obecnie obsługiwanych przy importowaniu 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 najważniejsze funkcje to:

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


Ogólne

Motyw ciemny

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

Boards

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 problemów do śledzenia elementów, takich jak scenariusze użytkowników, usterki i funkcje podczas używania epików do grupowania problemów w większej lekcji pracy. W miarę postępu pracy przenieś elementy wzdłuż prostego przepływu pracy zadań Do wykonania, Wykonywania i Gotowe.

podstawowy proces

Zapoznaj się z dokumentacją ś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 formularza elementu roboczego został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.

kolejność stanów

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 elementów roboczych

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 elementów roboczych

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

Plik README repozytorium jest często domem, do którego zespół projektu zwraca się w celu uzyskania informacji na temat współtworzenia rozwiązania i korzystania z niego. Teraz, podobnie jak w przypadku stanu kompilacji lub wdrożenia w usłudze Azure Pipelines, możesz dodać do pliku README wskaźnik tablicy zespołu w usłudze 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ótkie wideo pokazujące, jak udostępniać tablice zespołu za pomocą znaczka.

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.

Wykonywanie zapytań dotyczących pracy względem początku dnia, tygodnia, miesiąca lub roku

Podczas gdy zespoły często koncentrują się na pracy w kontekście tego, co nadchodzi dalej lub na podstawie iteracji przebiegu, często interesujące jest przyjrzenie się pracy za pomocą obiektywu 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ść funkcji społeczności deweloperów, edytowania i usuwania komentarzy w dyskusji dotyczącej elementu roboczego 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, wprowadzisz polecenie w trybie edycji i możesz po prostu wprowadzić zmiany i nacisnąć przycisk "Aktualizuj", aby zapisać zmiany.

Zrzut ekranu przedstawiający komentarze do dyskusji.

Po kliknięciu menu przepełnienia 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 zapytań do pliku CSV

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

Krótkie wideo przedstawiające 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 AB#{work item ID} składni, 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 usługi GitHub usługi Azure Boards.

Zrzut ekranu przedstawiający żądanie ściągnięcia w usłudze GitHub.

Akceptacja i podejmowanie działań w zakresie problemów w usłudze GitHub oraz planowanie w usłudze 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 zatwierdzeń i żądań ściągnięcia nadal ma zastosowanie i oczywiście można połączyć się ręcznie w usłudze Azure Boards z adresem URL problemu. Aby uzyskać więcej informacji, zobacz dokumentację usługi GitHub i Azure Boards .

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

Quickly view linked GitHub activity from the Kanban board (Szybkie wyświetlanie połączonych działań usługi GitHub z tablicy Kanban)

Podczas przeglądania tablicy Kanban samodzielnie lub jako zespół często masz pytania, takie jak "czy ten element zaczął jeszcze opracowywać?" lub "czy ten element jest jeszcze w przeglądzie?" Dzięki nowym adnotacjom usługi GitHub na tablicy Kanban możesz teraz szybko zrozumieć, gdzie znajduje się element, i bezpośrednio przejść do zatwierdzenia, żądania ściągnięcia lub problemu w usłudze GitHub, aby uzyskać więcej szczegółów. Aby uzyskać więcej informacji na temat tej 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

Robocze żądania ściągnięcia

Aby zapobiec zakończeniu żądań ściągnięcia przed ich przygotowaniem i ułatwienia tworzenia prac, które mogą nie obejmować wszystkich użytkowników, obsługujemy teraz żądania ściągnięcia w wersji roboczej.

Wersję roboczą żądań ściągnięcia można utworzyć, wybierając pozycję Utwórz jako wersję roboczą z listy rozwijanej Przycisk Utwórz podczas tworzenia żądania ściągnięcia.

Tworzenie wersji roboczej żądania ściągnięcia

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 pokazujące, że jest to wersja robocza

Wersje robocze żądań ściągnięcia nie obejmują domyślnie recenzentów ani nie uruchamiają kompilacji, ale umożliwiają 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 uruchamianie wygasłej kompilacji na potrzeby autouzupełniania żądań ściągnięcia

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

Wcześniej, gdy żądania ściągnięcia miały zasady, takie jak wymagane recenzenci, proces zatwierdzania może trwać zbyt długo, a skojarzona kompilacja może wygasnąć, zanim recenzent zatwierdził żądanie ściągnięcia. Jeśli żądanie ściągnięcia zostało ustawione na automatyczne ukończenie, pozostanie zablokowane do momentu ręcznego w kolejce wygasłej kompilacji przez użytkownika. 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.

Uwaga

Ta automatyzacja będzie kolejkować tylko do pięciu wygasłych kompilacji na żądanie ściągnięcia i będzie próbować ponownie kolejkować każdą kompilację tylko raz.

Wyświetlanie tylko lewego lub prawego pliku w żądaniu ściągnięcia

Obecnie podczas wyświetlania zmian w pliku w żądaniu ściągnięcia można użyć różnicy równoległej lub różnic 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 różnic side-by-side z kursorem najeżdżającym kursorem na zawartość Pokaż zmodyfikowaną.

Nowe typy scalania do wykonywania żądań ściągnięcia

Teraz masz więcej opcji podczas scalania zmian z żądania ściągnięcia do gałęzi docelowej. Dodaliśmy obsługę dwóch najbardziej żądanych funkcji w społeczności deweloperów: scalanie fast-forward i scalanie częściowo liniowe (nazywane również "Rebase and Merge").

Te nowe opcje będą teraz dostępne w oknie dialogowym Ukończ żądanie ściągnięcia :

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.

Uwaga

Istniejące zasady są nadal wymuszane. Jeśli na przykład gałąź ma obecnie zasady "tylko scalanie w trybie squasha", musisz edytować te zasady, 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 bazy danych, konieczne będzie uprawnienie "Przesłoń zasady gałęzi".
  • Jeśli gałąź źródłowa żądania ściągnięcia ma zasady, nie będzie można go ponownie utworzyć. Ponowne łączenie spowoduje zmodyfikowanie gałęzi źródłowej bez przechodzenia przez proces zatwierdzania zasad.
  • Jeśli użyto rozszerzenia konfliktów scalania w celu rozwiązania 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ść ponownego łączenia gałęzi lokalnie i wypychania do serwera lub scalania zmian podczas kończenia żądania ściągnięcia.

Filtrowanie według gałęzi docelowej w żądaniach ściągnięcia

Żądania ściągnięcia umożliwiają zespołowi przejrzenie kodu i przekazanie opinii na temat zmian przed scaleniem 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 żądań ściągnięcia, dodaliśmy opcję filtrowania, aby umożliwić wyszukiwanie żądań ściągnięcia przy użyciu gałęzi docelowej.

Zrzut ekranu przedstawiający opcje filtrowania żądań ściągnięcia usługi Azure Pipelines.

Możesz również użyć filtrowania gałęzi docelowej, aby dostosować widok żądań ściągnięcia na karcie Kopalnia .

Zrzut ekranu przedstawiający kartę Dostosowywanie żądania ściągnięcia na karcie Kopalnia.

Umożliwianie rozszerzeniom dodawania wyróżniania składni i autouzupełniania

Obecnie publikujemy wyróżnianie składni dla podzbioru języków obsługiwanych przez edytor Monaco. Jednak wiele z nich chce utworzyć własne wyróżnianie składni dla języków, które nie są obsługiwane.

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

Przykład rozszerzenia demonstrujący 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 tylko kodowania UTF-8 i nie monitowaliśmy o zmianę 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 wypychania sieci Web. Oznacza to, że zachowamy typ kodowania, aby nie trzeba było ich ponownie pisać jako UTF-8.

Poniższy zrzut ekranu przedstawia i przykład okna dialogowego, które zobaczysz po wprowadzeniu zmian kodowania przez wypychanie internetowe.

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

Go get command support in Azure Repos (Obsługa polecenia get języka Go 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, aby pobrać i zainstalować pakiety i zależności. Dzięki tej aktualizacji dodaliśmy obsługę go get w repozytorium Usługi Azure DevOps. W go getprogramie będzie można pobierać pakiety z ich zależnościami nazwanymi przez ścieżki importu. Możesz użyć słowa kluczowego import , aby określić ścieżkę importu.

Pipelines

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 potok YAML, możesz edytować plik YAML w edytorze internetowym potoku. Użyj klawiszy 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ń podczas 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ługi. 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 przedstawiający sposób edytowania plików YAML za pomocą Asystenta zadań.

Wyzwalanie potoków YAML tagami

Potoki YAML można wyzwalać po dodaniu tagów do zatwierdzenia. 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*

Śródwierszowe deklarowanie zasobów kontenera

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

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

Ustawianie automatycznego anulowania istniejącego potoku po zaktualizowaniu żądania ściągnięcia

Domyślnie potoki wyzwalane przez żądania ściągnięcia zostaną anulowane, jeśli nowe zatwierdzenie zostanie wypchnięte do tego samego żądania ściągnięcia. Jest to pożądane w większości przypadków, ponieważ zwykle nie chcesz kontynuować uruchamiania potoku w nieaktualnym kodzie. Jeśli nie chcesz tego zachowania, możesz dodać autoCancel: false do wyzwalacza żądania ściągnięcia.

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

Wybieranie katalogu wyewidencjonowanego kodu w potokach YAML

Wcześniej wyewidencjonowaliśmy repozytoria do s katalogu 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 on 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 kod zostanie wyewidencjonowany do my-great-repo katalogu w obszarze roboczym agenta. Jeśli nie określisz ścieżki, repozytorium będzie nadal wyewidencjonowane do katalogu o nazwie s.

Nowe zadania usługi aplikacja systemu Azure zoptymalizowane pod kątem kodu YAML

Obsługujemy teraz cztery nowe zadania, które zapewniają łatwy, ale zaawansowany sposób wdrażania usług aplikacja systemu Azure z myślą o nowoczesnych deweloperach. Te zadania mają zoptymalizowaną składnię YAML, która ułatwia i intuicyjne tworzenie wdrożeń w usługach aplikacja systemu Azure Services, takich jak WebApps, FunctionApps, WebApps for Containers i FunctionApps 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 w domyślnych uprawnieniach 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ć potoki. 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 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ć je za pomocą zadania Wydania usługi GitHub w usłudze 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 ułatwia również tworzenie 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 Wydanie usługi 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 ustawienie oznaczania zasobu jako "autoryzowanego do użycia we wszystkich potokach".

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 kontrybucji dla rozszerzeń na karcie Test w usłudze Pipelines

Nadal zwiększamy możliwości struktury rozszerzeń, dodając dwa nowe punkty współtworzenia na karcie Wyniki testów w potokach. Umożliwi to rozszerzeń witryny Marketplace zapewnienie bardziej dostosowanych środowisk raportowania i dodanie dalszej interakcyjności.

Dwa punkty współtworzenia to:

  1. Przycisk Akcja niestandardowa 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 współtworzenia 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 Szczegóły niestandardowe w okienku szczegółów

    Może istnieć wiele różnych przepływów pracy użycia raportów testowych i może chcieć zobaczyć różne punkty danych względem testów, które zakończyły się niepowodzeniem na potrzeby debugowania i analizy. 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.

Uruchamianie raz agenta

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 przerwać agenta (być może spowodować niepowodzenie zgłoszenia) lub zaakceptować ryzyko, że agent może otrzymać inne zadanie, zanim będzie można go zamknąć. W przypadku 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 uruchomione w puli. Ponadto możesz dowiedzieć się, dlaczego zadanie nie jest uruchomione.

Zrzut ekranu przedstawiający aktualizację środowiska użytkownika puli agentów

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

Domyślnie usługa Azure Pipelines służy do ponownego uruchamiania wszystkich zadań podczas ponownego wdrażania wcześniej nieudanego uruchomienia. Teraz możesz zastąpić to zachowanie, konfigurując opcję wdrożenia podczas wdrażania. Po wybraniu opcji Wszystkie zadania i ograniczenia do elementów docelowych, które zakończyły się niepowodzeniem w grupie wdrożenia, ponowne uruchomienie spowoduje uruchomienie wszystkich zadań i pominięcie wdrożeń do elementów docelowych, które są już aktualne.

Zrzut ekranu przedstawiający wybraną opcję Wdróż, niepowodzenie testu i wyświetloną sekcję Opcja wdrożenia.

Automatyczne ponowne wdrażanie w przypadku błędu

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 automatycznego ponownego wdrażania w warunkach po wdrożeniu. Planujemy dodać dodatkowe wyzwolone zdarzenia i akcje do konfiguracji automatycznego ponownego wdrażania w przyszłym przebiegu. Aby uzyskać więcej informacji, zobacz dokumentację grupy wdrożeń.

Zrzut ekranu przedstawiający okno dialogowe Warunki po wdrożeniu z wywołaną sekcją Wyzwalacz automatycznego ponownego wdrażania.

Wpięcie usługi adnotacji Grafana

Teraz obsługujemy nowy element zaczepienia usługi, który umożliwia dodawanie adnotacji Grafana dla zdarzeń Ukończone wdrożenie 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 przedstawiający pulpit nawigacyjny narzędzia Grafana przedstawiający zmiany w metrykach.

Zadania wykonywania zapytań o alerty usługi Azure Monitor

Poprzednia wersja zadania Wykonywanie zapytań w usłudze Azure Monitors obsługiwała wykonywanie zapytań dotyczących alertów tylko w klasycznym środowisku monitorowania. 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 alertów usługi Azure Monitor dla zapytań.

Bezpośrednie wprowadzanie pliku specyfikacji w zadaniu wdrażania 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 tekście.

Zrzut ekranu przedstawiający funkcję konfiguracji wbudowanej.

Zadanie instalatora interfejsu wiersza polecenia platformy Docker

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 wydań

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żna teraz przywrócić potok wydania, który został usunięty w ciągu ostatnich 30 dni. Dodaliśmy nową kartę do lewego panelu strony Wydania, która będzie wyświetlać listę usuniętych potoków wydania. 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ę Przywróć dla potoków.

Notifications on failure of a release creation request (Powiadomienia w przypadku niepowodzenia żą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 Wydanie . To powiadomienie spowoduje wysłanie wiadomości e-mail, gdy żądanie utworzenia wydania zakończy się niepowodzeniem. Przykładowy scenariusz, w którym może to być przydatne, jest to, że żądanie utworzenia wydania kończy się niepowodzeniem, ponieważ wersja artefaktu jest niedostępna. Aby dowiedzieć się, jak zarządzać powiadomieniami, zobacz dokumentację tutaj.

Zrzut ekranu przedstawiający kreatora Nowa subskrypcja z wyróżnioną kategorią Wydanie i wyróżnioną opcją Żądanie utworzenia wydania nie powiodło się.

Schedule releases on source or pipeline change (Planowanie wydań w przypadku zmiany źródła lub potoku)

Wcześniej, gdy był wyzwalany zaplanowany wyzwalacz wydania, wydanie zostanie wyzwolone nawet wtedy, gdy nie wykryto żadnych zmian w artefaktie nadrzędnym lub w definicji wydania. Do panelu Wyzwalacz harmonogramu wydania dodano opcję, aby zaplanować wydania tylko wtedy, gdy wersja artefaktu lub definicja wydania uległa zmianie.

Zrzut ekranu przedstawiający sekcję Wyzwalacz zaplanowanego wydania z opcją Tylko zaplanuj wydania, jeśli opcja źródłowa lub potok została zmieniona.

Contribution point for variables in the create release dialog (Punkt kontrybucji dla 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 udziału do okna dialogowego Tworzenie nowej wersji w celu obsługi rozszerzeń, które pomogą wypełnić wartość zmiennej podczas tworzenia wersji.

Zrzut ekranu przedstawiający okno dialogowe Tworzenie nowej wersji.

Publish to Azure Service Bus session queues (Publikowanie w kolejkach sesji usługi Azure Service Bus)

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

Zrzut ekranu przedstawiający zadanie Publikuj w usłudze Azure Service Bus.

New Azure subscription option in Kubernetes service connection (Nowa opcja subskrypcji platformy Azure w połączeniu usługi 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ć połączenie usługi i zarządzać nim z poziomu ustawień Administracja projektu.

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

W przypadku klastra z włączoną kontrolą dostępu opartą na rolach (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 wyłączonego RBAC utworzone konto usługi ma uprawnienia dla całego klastra w przestrzeniach nazw.

Zrzut ekranu przedstawiający okno dialogowe Dodawanie połączenia usługi Kubernetes z wybraną 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 usługi Platformy Docker.

Search by folder name in release definitions (Wyszukiwanie według nazwy folderu w definicjach wydań)

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 potoków kompilacji i wydania, które umożliwia zainstalowanie konkretnej wersji pliku binarnego Duffle.

Zrzut ekranu przedstawiający 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:

  • Podstawianie artefaktów — akcja wdrażania przyjmuje jako dane wejściowe listę obrazów kontenerów, które można określić wraz z tagami lub skrótami. Jest on zastępowany w wersji innej niż szablon plików manifestu przed zastosowaniem go do klastra, aby upewnić się, że właściwa wersja obrazu jest ściągana przez węzły klastra.

  • Stabilność manifestu — stan wdrożenia jest sprawdzany dla obiektów Kubernetes wdrożonych w celu włączenia kontroli stabilności podczas obliczania stanu zadania jako powodzenia/niepowodzenia.

  • 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 pieczenie wykresów Helm w plikach manifestu kubernetes, dzięki czemu można je zastosować do klastra.

  • Strategia wdrażania — wybranie strategii kanarowej z akcją wdrażania prowadzi do utworzenia żądanego procentu obciążeń z sufiksem -baseline i -canary , dzięki czemu można je porównać podczas ManualIntervention zadania przed użyciem akcji 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

Uaktualnienia zadania platformy Docker

Uaktualniliśmy zadanie platformy Docker, aby uprościć środowisko 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ń usługi rejestru platformy Docker do rejestrowania się w rejestrach 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. Najnowsze i semver ciągi wersji, 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.

Ulepszenia integracji usługi ServiceNow

Kluczową funkcją współpracy między zespołami jest umożliwienie każdemu zespołowi korzystania z wybranej usługi i efektywnego kompleksowego dostarczania. 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ż bramować wersje na podstawie istniejących żądań zmiany. Dzięki temu można wdrożyć ciągłe wdrażanie ciągłego wdrażania bez konieczności zmiany procesu zalecanego przez zespoły IT.

Zrzut ekranu przedstawiający funkcję zarządzania zmianami usługi ServiceNow.

Support for Red Hat Enterprise Linux 6 (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 programu 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 Enable-AzureRmAlias polecenia . Aliasy umożliwiają używanie starych nazw poleceń cmdlet z modułem Az. Więcej szczegółowych informacji na temat migracji z modułu Azure RM do modułu Az programu Azure PowerShell można znaleźć tutaj.

Uwaga

Jeśli używasz 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 (zintegrowane i hasła) oraz parametry 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 przekazywanie artefaktów kompilacji ze ścieżkami dłuższymi niż 233 znaki. Może to uniemożliwić przekazywanie wyników pokrycia kodu z kompilacji systemu Linux i macOS ze ścieżkami plików dłuższymi niż limit. Limit został zaktualizowany w celu obsługi długich ścieżek.

Skip continuous integration (CI) for a commit (Pomijanie ciągłej integracji w przypadku zatwierdzania)

Teraz możesz poinformować usługę Azure Pipelines o ignorowaniu zatwierdzenia i pomijaniu uruchamiania potoku, który zwykle wyzwala zatwierdzenie. Wystarczy dołączyć [skip ci] komunikat zatwierdzenia zatwierdzenia head i usługa Azure Pipelines pominie ciągłą integrację. 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***

Test Plans

Widżet trendu wyników testu (zaawansowane)

Widżet Trend wyników testów (zaawansowane) zapewnia niemal w czasie rzeczywistym wgląd w dane testowe dla wielu kompilacji i wydań. Widżet Trend wyników testu (zaawansowane) wyświetla trend wyników testu dla potoków lub potoków. Służy do śledzenia dziennej liczby testów, szybkości testów i czasu trwania testu. Śledzenie jakości testów w czasie i ulepszanie zabezpieczeń testów jest kluczem do utrzymania zdrowego potoku DevOps.

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

Widżet Trend wyników testów (zaawansowane) ułatwia znajdowanie wartości odstających w wynikach testu i odpowiadanie 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 liczby testów i liczby wyników testu lub czasu 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 testu według gałęzi lub testu
  • Stosuje 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 przebiegów testów za pomocą 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ę Kopiuj adres URL wyników, aby umożliwić udostępnianie wyników jednego testu innym osobom w zespole.

Poziomy udostępniania obejmują:

  • Poziom przebiegu
  • 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.

Artifacts

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 (zazwyczaj numery wersji zawierające część metadanych kompilacji wersji, która jest oznaczona przez +element ). Teraz możesz zapisywać pakiety z nuget.org, które zawierają metadane kompilacji i wypychać własne pakiety przy użyciu metadanych kompilacji. Zgodnie ze specyfikacją SemVer i zasadami NuGet.org metadane kompilacji nie mogą być używane do zamawiania pakietów. W związku z tym nie można opublikować zarówno usługi 1.0.0+build1 Azure Artifacts, jak i 1.0.0+build2 do usługi Azure Artifacts (lub nuget.org), ponieważ te wersje będą traktowane jako równoważne i w związku z tym podlegają ograniczeniom niezmienności.

Informacje o pochodzeniu dla 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 zadań NuGet, npm, Maven i Twine Authenticate (dla języka Python) w usłudze Azure Pipelines.

Statystyki użycia pakietów

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ę plików do pobrania i użytkowników na stronach listy pakietów 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 w blogu z ogłoszeniem i dokumentację.

Teraz możesz hostować wszystkie pakiety NuGet, npm, Maven i Python w tym samym kanale informacyjnym.

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

Źródła nadrzędne programu Maven

Źródła nadrzędne są teraz dostępne dla źródeł 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 źródła danych, odwiedź stronę Ustawienia źródła nadrzędnego, wybierz pozycję Nadrzędne źródła, 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łnej obsługi infrastruktury serwera proxy usługi Azure Pipelines, co doprowadziło do wyzwań związanych z wykonywaniem 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): przywracanie i wypychanie poleceń
  • DotNetCoreCLI@2 (.NET Core w projektancie): przywracanie i polecenia wypychania nuget
  • NpmAuthenticate@0, PipAuthenticate@0 i TwineAuthenticate@0 ("[type] Authentication" w projektancie): te zadania obsługują serwery proxy podczas uzyskiwania tokenów uwierzytelniania, ale nadal konieczne jest skonfigurowanie wszelkich kolejnych zadań/skryptów/narzędzi do używania serwera proxy. Innymi słowy, te zadania nie konfigurują serwera proxy dla bazowego narzędzia (npm, pip, twine).
  • NuGetToolInstaller@0, NodeTool@0, DotNetCoreInstaller@0 ("[type] Installer" w projektancie)

All Artifacts package types supported in releases (Wszystkie typy pakietów usługi Artifacts są obsługiwane w wydaniach)

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

Artifacts views supported in releases (Widoki usługi Artifacts są obsługiwane w wydaniach)

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.

Retention policies can skip packages downloaded recently (Zasady przechowywania mogą pomijać niedawno pobrane 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.

Delegowanie uprawnień do zarządzania źródłami danych

W usłudze Azure Artifacts usługa Project Collection Administracja istrators (PCA) zawsze była w stanie administrować wszystkimi źródłami danych na serwerze usługi Azure DevOps. Dzięki tej aktualizacji umowy PCA mogą również dać tę możliwość innym użytkownikom i grupom, co pozwala na delegowanie możliwości zarządzania dowolnym kanałem informacyjnym.

Witryna Wiki

Szablon Markdown dla formuł i klipów wideo

Podczas edytowania strony typu wiki nie trzeba już pamiętać składni języka Markdown do dodawania formuł, filmów wideo i tagów YAML. 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.

Osadzanie wyników zapytań usługi Azure Boards w witrynie Typu 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ę typu wiki z listą wszystkich funkcji wydanych i wszystkimi aktywnymi usterkami w bieżącym przebiegu osadzonym w witrynie typu 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 usługi Azure Boards wyświetlane w witrynie 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 monospaced dla edytora języka Markdown typu wiki

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

Zrzut ekranu przedstawiający witrynę Typu Wiki z czcionką jednospacedową.

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 o priorytyzowana na podstawie tego biletu sugestii.

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 żądania ściągnięcia i dyskusjach tablic również będą pokazywać stan.

@mention użytkownicy i grupy

Teraz możesz @mention użytkowników i grupy 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ższej ilustracji przedstawiono przykład przedstawiający retrospektywę przebiegu z zadaniami i osobą odpowiedzialną.

Zrzut ekranu przedstawiający wygląd klasy <span=@mention użytkowników i grup". />

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

Zrzut ekranu przedstawiający autosuggestions, które są wyświetlane podczas wpisywania klasy <span=@mention". />

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

Powiadomienia na stronach 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 witrynie typu wiki, wybierz przycisk Obserwuj na stronie typu wiki.

Zrzut ekranu przedstawiający stronę typu wiki usługi Azure DevOps z wywołaną opcją Obserwuj.

Ta funkcja została o priorytyzowana na podstawie tego biletu sugestii. 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 przy użyciu tagów szczegółów i podsumowania . Możesz dodać otwarty atrybut, aby zachować domyślnie rozwinięte szczegóły.

    Zrzut ekranu przedstawiający zwijane sekcje, które są tworzone z tagami szczegółów i podsumowania.

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

    Została to priorytetowa na podstawie tego biletu sugestii.

    Uwaga

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

Ulepszone tworzenie i edytowanie tabel

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ę markdown, wybierając z siatki 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 o priorytyzowana na podstawie następujących biletów sugestii:

  2. Lepsza czytelność tabeli

    Teraz możesz przełączać zawijanie wyrazów dla edytora, aby zapewnić 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 przedstawiający stronę typu wiki z opcją Zawijanie programu Word i poziomym paskiem przewijania wywołanym.

  3. Autoformatowanie tabel języka Markdown

    Nie musisz już dodawać spacji, aby wyrównać kolumny markdown. Za pomocą przycisku Formatuj tabele markdown są automatycznie formatowane przez dodanie spacji do komórek w celu wyrównania kolumn. Jeśli masz duże tabele, użyj jej z wyłączeniem zawijania wyrazów, aby ułatwić odczytywanie tabel.

    Zrzut ekranu przedstawiający stronę typu wiki z wywołaną opcją Formatuj tabele.

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

Raportowanie

Rozszerzenie analizy nie jest już potrzebne do korzystania z analizy

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 Ustawienia 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 Ustawienia kolekcji projektów:

Zrzut ekranu przedstawiający miejsce znalezienia ustawienia Analiza.

  1. Kliknij pozycję Włącz analizę

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

I to wszystko. Środowiska oparte na analizie zostaną włączone dla kolekcji.

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 środowiskach, które umożliwia:


Opinia

Chcemy poznać Twoje zdanie! Możesz zgłosić problem lub podać pomysł i śledzić go za pośrednictwem społeczności deweloperów i uzyskać porady na temat stack Overflow.


Początek strony