Udostępnij za pośrednictwem


Informacje o wersji programu Azure DevOps Server 2019

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.


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 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.0.1 Patch 16 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ą 15 wydaną 12 września 2023 r. Jeśli aktualizacje agenta nie zostały zainstalowane zgodnie z opisem w informacjach o wersji poprawki 15, zalecamy zainstalowanie tych aktualizacji przed zainstalowaniem poprawki 16. Nowa wersja agenta po zainstalowaniu poprawki 15 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.0.1 Patch 15 Data wydania: 12 września 2023 r.

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

  • 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 program Azure DevOps Server 2019.0.1 Patch 15.

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.0.1 Patch 14 Data wydania: 8 sierpnia 2022 r.

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

  • CVE-2023-36869: Luka w zabezpieczeniach dotycząca fałszowania serwera Azure DevOps.

Azure DevOps Server 2019.0.1 Patch 13 Data wydania: 17 maja 2022 r.

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

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

Azure DevOps Server 2019.0.1 Patch 12 Data wydania: 26 stycznia 2022 r.

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

  • 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 12.
  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 12.
  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: 96C7AF3E3ED67C76451BA228427B3C0738EEB4A5835B6A91EBD3205A54C384D7

Azure DevOps Server 2019.0.1 Patch 11 Data wydania: 10 sierpnia 2021 r.

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

  • Naprawiono błąd interfejsu użytkownika definicji kompilacji.

Azure DevOps Server 2019.0.1 Patch 10 Data wydania: 13 kwietnia 2021 r.

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

Aby zastosować poprawkę AzureResourceGroupDeploymentV2 10, należy zainstalować zadanie.

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: AzureResourceGroupDeploymentV2.

  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. 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.0.1 Patch 9 Data wydania: 8 grudnia 2020 r.

Opublikowaliśmy poprawkę dla usługi Azure DevOps Server 2019.0.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 serwerów DevOps i serwera Team Foundation Server
  • 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.0.1, zainstaluj program Azure DevOps Server 2019.0.1 Patch 9.

Weryfikowanie instalacji

  • Opcja 1. Uruchom devops2019.0.1patch9.exe CheckInstallpolecenie , devops2019.0.1patch9.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 9 programu Azure DevOps Server 2019.0.1 wersja będzie mieć wartość 17.143.30723.4 .

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 to D:\tasks (1)\AzurePowerShellv4.
  ~$ tfx build tasks upload --task-path *<Path of the extracted package>*

Azure DevOps Server 2019.0.1 Patch 8 Data wydania: 8 września 2020 r.

Opublikowaliśmy poprawkę zabezpieczeń dla usługi Azure DevOps Server 2019.0.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.0.1 Patch 7 Data wydania: 14 lipca 2020 r.

Opublikowaliśmy poprawkę zabezpieczeń dla usługi Azure DevOps Server 2019.0.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.0.1 Patch 6 Data wydania: 10 czerwca 2020 r.

Opublikowaliśmy poprawkę zabezpieczeń dla usługi Azure DevOps Server 2019.0.1, która naprawia następujące poprawki. Zobacz wpis w blogu, aby uzyskać więcej informacji.

  • CVE-2020-1327: Upewnij się, że usługa Azure DevOps Server oczyszcza dane wejściowe użytkownika
  • Dodawanie obsługi algorytmu SHA2 w usłudze SSH w usłudze Azure DevOps

Azure DevOps Server 2019.0.1 Patch 5 Data wydania: 10 marca 2020 r.

Opublikowaliśmy poprawkę zabezpieczeń dla usługi Azure DevOps Server 2019.0.1, która naprawia następujące poprawki. 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.0.1 Patch 3 Data wydania: 10 września 2019 r.

Opublikowaliśmy poprawkę zabezpieczeń dla serwera Azure DevOps Server 2019.0.1, która naprawia następujące błędy. Zobacz wpis w blogu, aby uzyskać więcej informacji.

  • CVE-2019-1305: Luka w zabezpieczeniach dotycząca skryptów między witrynami (XSS) w repozytoriach
  • CVE-2019-1306: Luka w zabezpieczeniach dotycząca zdalnego wykonywania kodu w witrynie typu wiki

Azure DevOps Server 2019.0.1 Patch 2 Data wydania: 13 sierpnia 2019 r.

Opublikowaliśmy poprawkę zabezpieczeń dla serwera Azure DevOps Server 2019.0.1, która naprawia następujący błąd. Zobacz wpis w blogu, aby uzyskać więcej informacji.

  • Dodaliśmy informacje do połączeń usług, aby wyjaśnić, że są one domyślnie autoryzowane dla wszystkich potoków.

Azure DevOps Server 2019.0.1 Patch 1 Data wydania: 9 lipca 2019 r.

Opublikowaliśmy poprawkę zabezpieczeń dla serwera Azure DevOps Server 2019.0.1, która naprawia następujące błędy. Zobacz wpis w blogu, aby uzyskać więcej informacji.

  • CVE-2019-1072: Luka w zabezpieczeniach dotycząca zdalnego wykonywania kodu w śledzeniu elementów roboczych
  • CVE-2019-1076: Luka w zabezpieczeniach dotycząca skryptów między witrynami (XSS) w żądaniach ściągnięcia

Azure DevOps Server 2019.0.1 Data wydania: 21 maja 2019 r.

Azure DevOps Server 2019.0.1 to zestawienie poprawek błędów. Zawiera wszystkie poprawki w wcześniej wydanych poprawkach programu Azure DevOps Server 2019. Możesz bezpośrednio zainstalować program Azure DevOps Server 2019.0.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.0.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

  • "Kryteria pola dla tego planu mają błąd". Podczas konfigurowania planu. Zgłoszone za pośrednictwem społeczności deweloperów.
  • funkcja apiwitcontroller.executequery zgłasza wyjątek, gdy zapytanie ma tę samą kolumnę wiele razy.
  • W modelu obiektów klienta przy użyciu zakresu vso.work_full oauth workItemServer.DownloadFile() kończy się niepowodzeniem.
  • Kopiowanie obrazu osadzonego z pola elementu roboczego do innego pola elementu roboczego w innym projekcie może spowodować utworzenie uszkodzonego obrazu.

Azure Repos

  • "TF401019: GitRepositoryNotFoundException".

Azure Pipelines

  • Karta Analiza testów ma gwiazdkę (*) wskazującą podgląd, mimo że ta funkcja nie jest dostępna w wersji zapoznawczej.
  • Na karcie Wydania akcja zarządzania zabezpieczeniami jest teraz wyświetlana wszystkim użytkownikom niezależnie od tego, czy mogą zmienić uprawnienia, czy nie.
  • Na stronach docelowych Wydania akcja rozpoczęcia wersji roboczej była tworzeniem nowej wersji, ale teraz rozpoczyna wersję roboczą.

Azure Test Plans

  • Filtr 1 godziny dla elementów TestRuns i TestResults CompletedDate jest zbyt szczegółowy.
  • W typie elementu roboczego Przypadek testowy typ "Przypadek testowy" nie powinien być zlokalizowany.
  • Przypadki testowe nie są wyświetlane w programie MTM ani w przeglądarce.
  • "Etap sprawdzania poprawności: nie masz uprawnień do wyzwalania wydań w skojarzonym potoku wydania" podczas uruchamiania testów automatycznych z planu testów. Zgłoszone za pośrednictwem społeczności deweloperów.
  • Przy użyciu interfejsu API usuwania przypadku testowego przypadki testowe można usunąć z innych projektów. Zgłoszone za pośrednictwem społeczności deweloperów.
  • Kliknięcie linku elementu roboczego w narzędziu Test Runner powoduje otwarcie adresu URL elementu roboczego wewnątrz modułu uruchamiającego testy zamiast domyślnej przeglądarki.
  • Stan przypadku testowego nie jest aktualizowany dla użytkowników, którzy wylogowyją się z modułu uruchamiającego testy.
  • Nazwa użytkownika i adres e-mail nie są wyświetlane na liście rozwijanej użytkownika w module uruchamiającym testy.

Azure Artifacts

  • Przenieś w górę i Przenieś w dół nie są zlokalizowane w strumieniach nadrzędnych.

Analiza

  • Raporty analityczne mogą wyświetlać niekompletne dane, ponieważ model jest oznaczony jako "gotowy", zanim zostanie on rzeczywiście ukończony.
  • Widżety szybkości, wypalania i spalania wyświetlają różne planowane prace dla użytkowników w różnych strefach czasowych.
  • Blokada może zostać umieszczona na pozyskiwaniu danych analizy podczas konserwacji, co może powodować nieaktualne raporty.

Ogólne

  • Lewe elementy nawigacji są wyciśnięte w programie IE, gdy nie ma wystarczającej ilości miejsca.

Administracja

  • Dodatkowe rejestrowanie dodane do uaktualnienia kolekcji w celu ułatwienia debugowania problemów.
  • Gdy polecenie TfsConfig offlineDetach kończy się niepowodzeniem, komunikat o błędzie nie jest możliwy do wykonania.
  • Usługa TfsJobAgent ulega awarii.
  • Rozszerzenie wyszukiwania nie jest instalowane po zakończeniu konfiguracji.
  • Konsola administracyjna przestaje odpowiadać, gdy baza danych konfiguracji jest uszkodzona.
  • Punkty zaczepienia usługi mogą nie przetwarzać poprawnie powiadomień.
  • Indeksowanie wyszukiwania kodu nie jest uruchamiane po skonfigurowaniu funkcji Wyszukiwania.
  • W wynikach stron wyszukiwania istnieją nielokalizowane ciągi.

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

Obsługa programu Visual Studio 2019 (VS2019) w zadaniu testowym programu Visual Studio

Dodaliśmy obsługę programu Visual Studio 2019 do zadania Test programu Visual Studio w potokach. Aby uruchomić testy przy użyciu platformy testowej dla programu Visual Studio 2019, wybierz opcje Najnowsze lub Visual Studio 2019 z listy rozwijanej Wersja platformy testowej.

Zrzut ekranu przedstawiający sekcję Opcje wykonywania z listą rozwijaną Wersja platformy testowej wybraną z wybraną opcją Najnowszy program Visual Studio 2019.


Azure DevOps Server 2019 Patch 2 — data wydania: 14 maja 2019 r.

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

  • CVE-2019-0872: Luka w zabezpieczeniach dotycząca skryptów między witrynami (XSS) w planach testów
  • CVE-2019-0971: Luka w zabezpieczeniach dotycząca ujawniania informacji w interfejsie API repozytoriów
  • CVE-2019-0979: Luka w zabezpieczeniach dotycząca skryptów między witrynami (XSS) w centrum użytkowników

Azure DevOps Server 2019 Patch 1 — data wydania: 9 kwietnia 2019 r.

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

  • CVE-2019-0857: Luka w zabezpieczeniach dotycząca fałszowania w witrynie Typu Wiki
  • CVE-2019-0866: Luka w zabezpieczeniach dotycząca zdalnego wykonywania kodu w usłudze Pipelines
  • CVE-2019-0867: Luka w zabezpieczeniach dotycząca skryptów między witrynami (XSS) w usłudze Pipelines
  • CVE-2019-0868: Luka w zabezpieczeniach dotycząca skryptów między witrynami (XSS) w usłudze Pipelines
  • CVE-2019-0869: Luka w zabezpieczeniach dotycząca wstrzyknięcia kodu HTML w usłudze Pipelines
  • CVE-2019-0870: Luka w zabezpieczeniach dotycząca skryptów między witrynami (XSS) w usłudze Pipelines
  • CVE-2019-0871: Luka w zabezpieczeniach dotycząca skryptów między witrynami (XSS) w usłudze Pipelines
  • CVE-2019-0874: Luka w zabezpieczeniach dotycząca skryptów między witrynami (XSS) w usłudze Pipelines
  • CVE-2019-0875: Luka w zabezpieczeniach dotycząca podniesienia uprawnień w tablicach

Data wydania programu Azure DevOps Server 2019: 5 marca 2019 r.

Uwaga

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


Data wydania RC2: 22 stycznia 2019 r.

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

Dodaliśmy następujące funkcje do wersji RC2:


Data wydania RC1: 19 listopada 2018 r.

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

Usługa Azure DevOps Server 2019 wprowadza nowe środowisko nawigacji i wiele nowych funkcji. Niektóre najważniejsze funkcje to:

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


Ogólne

Ogłoszenie usługi Azure DevOps Server

10 września ogłosiliśmy usługę Azure DevOps jako ewolucję usług Visual Studio Team Services i Team Foundation Server. Azure DevOps Server 2019 to nasza pierwsza wersja lokalna z tą nową marką. Więcej informacji można znaleźć w naszym wpisie w blogu.

Nowe środowisko nawigacji

Wprowadzamy nową nawigację w celu modernizacji środowiska użytkownika. Ta nowa nawigacja została wdrożona w usłudze Azure DevOps i jest teraz dostępna w usłudze Azure DevOps Server 2019. Aby uzyskać więcej informacji, zobacz nasz blog .

Nowa nawigacja

Zmiany w licencjonowaniu artefaktów i potoku wdrażania zarządzania wydaniami

Na podstawie opinii użytkowników wprowadzamy dwie kluczowe zmiany w naszych licencjach za pomocą usługi Azure DevOps Server 2019. Najpierw klienci nie będą już musieli kupować rozszerzenia Artifact, aby używać artefaktów. Użycie licencji Artifacts zostanie teraz uwzględnione w licencji podstawowej. Wszyscy użytkownicy, którzy mają przypisaną licencję podstawową, będą mogli teraz używać artefaktów. Po drugie, klienci nie będą już musieli kupować potoków wdrażania zarządzania wydaniami. Podobnie jak w przypadku potoków kompilacji potoki wdrażania zarządzania wydaniami są teraz dołączone do usługi Azure DevOps Server 2019.

Obsługa usługi Azure SQL Database

Aby uprościć środowisko uruchamiania usługi Azure DevOps 2019 na platformie Azure, włączyliśmy obsługę usługi Azure SQL Database (ogólnego przeznaczenia S3 i nowszych). Dzięki temu można korzystać z rozbudowanych funkcji tworzenia kopii zapasowych i opcji skalowania, aby dopasować je do Twoich potrzeb, jednocześnie zmniejszając koszty administracyjne związane z uruchamianiem usługi. Należy pamiętać, że maszyna wirtualna hosta musi znajdować się w tym samym regionie świadczenia usługi Azure co baza danych, aby zachować małe opóźnienie. Więcej informacji zawiera dokumentacja.

Interfejsy API SOAP modelu obiektów klienta i elementu roboczego testowego w przyszłych wersjach

Usługa Azure DevOps Server 2019 nadal obsługuje interfejs API protokołu SOAP śledzenia elementów roboczych i model obiektów klienta. Jednak zostanie ona oznaczona jako przestarzała w przyszłych wersjach usługi Azure DevOps Server. Więcej informacji można znaleźć w naszej dokumentacji.

Przetwarzanie dziedziczenia w nowych kolekcjach

Dziedziczenie procesów jest teraz dostępne w nowych kolekcjach. Użytkownicy będą musieli podjąć decyzję o sumieniu w modelu procesu podczas tworzenia nowej kolekcji. Zapoznaj się z naszą dokumentacją dotyczącą tego, czym jest model dziedziczenia i czym różni się od kodu XML.

Dziedziczenie procesu

Rozumiemy znaczenie wyszukiwania i przywracamy rozwinięte pole wyszukiwania w nagłówku produktu. Ponadto możesz teraz wywołać pole wyszukiwania, klikając pozycję "/" na dowolnej stronie usługi w usłudze Azure DevOps.

Oto domyślne pole wyszukiwania:

Domyślne pole wyszukiwania

Po wpiseniu ciągu "/" zostanie wyświetlone rozwinięte pole wyszukiwania:

Rozwinięte pole wyszukiwania

Moje okno wysuwane pracy

Nowa funkcja, która jest bardzo podekscytowana wprowadzeniem , to mój wysuwany program pracy . Słyszeliśmy opinię, że gdy jesteś w jednej części produktu i chcesz uzyskać informacje z innej części, nie chcesz utracić kontekstu. Dzięki tej nowej funkcji możesz uzyskać dostęp do tego wysuwanego menu z dowolnego miejsca w produkcie. Dzięki niej możesz szybko zapoznać się z kluczowymi informacjami, takimi jak elementy robocze, żądania ściągnięcia i wszystkie ulubione. Dzięki temu nowemu wysuwaniu, jeśli jesteś w repozytoriach w dół w kodzie, ale chcesz szybko sprawdzić, który element roboczy należy pracować dalej, możesz po prostu kliknąć wysuwane elementy robocze i zobaczyć elementy robocze przypisane do Ciebie i odebrać następny element.

Poniżej zobaczysz menu wysuwane moje prace z wyświetlonymi elementami roboczymi przypisanymi do mnie:

Moje okno wysuwane pracy

W tym miejscu zobaczysz drugi element przestawny, który pokazuje przypisane do mnie żądania ściągnięcia. W oknie wysuwaym masz również dostęp jednym kliknięciem, aby wyświetlić więcej żądań ściągnięcia:

Żądanie ściągnięcia pracy

W tym miejscu możesz zobaczyć ostatni element przestawny, czyli wszystko, co zostało ulubione. Obejmuje to ulubione zespoły, pulpity nawigacyjne, tablice, listy prac, zapytania i repozytoria:

Moje ulubione listy wysuwane pracy

Boards

Zespoły, które używają usługi GitHub Enterprise do obsługi kodu i chcą rozbudowanych funkcji zarządzania projektami, mogą teraz integrować swoje repozytoria z usługą Azure Boards. Łącząc usługi GitHub i Azure Boards, możesz uzyskać wszystkie funkcje, takie jak listy prac, tablice, narzędzia planowania przebiegu, wiele typów elementów roboczych i nadal mają przepływ pracy integrujący się z przepływami pracy deweloperów w usłudze GitHub.

Łączenie zatwierdzeń i żądań ściągnięcia z elementami roboczymi jest łatwe. Wspomnij o elemencie roboczym przy użyciu następującej składni:

AB#{work item ID}

Wzmianka o elemencie roboczym w komunikacie zatwierdzenia, tytule żądania ściągnięcia lub opis żądania ściągnięcia, a usługa Azure Boards utworzy link do tego artefaktu. Rozważmy na przykład komunikat zatwierdzenia podobny do następującego:

Adds support for deleting connections. Fixes AB#20.

Spowoduje to utworzenie linku z elementu roboczego #20 do zatwierdzenia w usłudze GitHub, które zostanie wyświetlone w sekcji Programowanie elementu roboczego. ​

Zrzut ekranu przedstawiający usługę Azure DevOps z wywołaną sekcją Programowanie.

Jeśli słowa "fix", "fixs" lub "fixed" poprzedzają wzmiankę o elemencie roboczym (jak pokazano powyżej), element roboczy zostanie przeniesiony do stanu ukończonego po scaleniu zatwierdzenia z gałęzią domyślną.

Zespoły korzystające z usługi Azure Pipelines do kompilowania kodu w usłudze GitHub będą również widzieć elementy robocze połączone z zatwierdzeniami usługi GitHub w podsumowaniu kompilacji.

Centrum Nowych elementów roboczych

Centrum elementów roboczych to nasze nowe centrum, które będzie służyć jako strona główna elementów roboczych. W tym miejscu masz wiele różnych widoków listy elementów roboczych, które są ograniczone w dół. Możesz wyświetlić pozycję Przypisane do mnie , aby szybko zapoznać się ze wszystkimi zadaniami przypisanymi do Ciebie lub Ostatnio zaktualizowanymi , co pokazuje wszystkie elementy robocze w projekcie, które zostały ostatnio zaktualizowane. Poniżej przedstawiono wszystkie opcje listy:

Centrum elementów roboczych

Jeśli chcesz jeszcze bardziej ograniczyć zakres list, możesz filtrować według typu, przypisanego do, stanu, obszaru, tagów i słowa kluczowego. Po wyświetleniu żądanego widoku listy możesz po prostu posortować elementy robocze, klikając nagłówek kolumny. Jeśli jedna kolumna jest zbyt wąskia, aby wyświetlić pełną zawartość kolumny, możesz łatwo zmienić rozmiar kolumny w obszarze nagłówka. Te środowiska można zobaczyć poniżej:

Lista centrum elementów roboczych

Nowe tablice, listy prac i koncentratory przebiegu

Centrum Listy prac zostało podzielone na trzy odrębne koncentratory, aby ulepszyć środowisko użytkownika. Choć potężne, stare centrum Zaległości było domem dla zbyt wielu funkcji. Często utrudniało to znalezienie funkcji lub możliwości, których szukali użytkownicy. Aby rozwiązać ten problem, podzieliliśmy centrum Listy prac na:

  • Centrum Listy prac jest teraz domem dla tylko listy prac dla projektu. Lista prac jest priorytetową listą pracy dla zespołu. Listy prac zapewniają narzędzia do planowania, takie jak hierarchia elementów roboczych, prognozowanie i nowe środowisko planowania przebiegu.
  • Nowe centrum Boards jest domem dla wszystkich tablic Kanban dla projektu. Tablice służą do komunikowania stanu i przepływu. Karty (elementy robocze) przechodzą od lewej do prawej po drugiej stronie tablicy za pomocą kolumn zdefiniowanych przez zespół.
  • Nowe centrum Sprints jest domem dla funkcji używanych do planowania i wykonywania przyrostu pracy. Każdy przebieg zawiera listę prac przebiegu, tablicę zadań oraz widok umożliwiający zarządzanie pojemnością i ustawianie jej dla zespołu.

Koncentrator tablic

Centrum nowych zapytań

Nowe centrum zapytań usprawnia wiele istniejących funkcji zapytań ze starego centrum z bardziej nowoczesnym wyglądem i działaniem, a także udostępnia nowe funkcje, aby ułatwić uzyskiwanie ważnych zapytań. Oto niektóre najważniejsze funkcje nowego środowiska:

  • Strony katalogów z ostatnią modyfikacją informacji i możliwość wyszukiwania zapytań
  • Linki do stron nadrzędnych z unikatowymi adresami URL folderów do tworzenia zakładek ważnych grup zapytań
  • Szybki dostęp do ulubionych zapytań na stronie wyników

Przeczytaj więcej na temat tych ekscytujących aktualizacji na naszym blogu DevOps.

Przenoszenie elementów roboczych do innego projektu i zmienianie typu elementu roboczego

Teraz możesz zmienić typ elementu roboczego lub przenieść elementy robocze do innego projektu w kolekcji projektów. Te funkcje wymagają wyłączenia magazynu danych. Gdy magazyn danych jest wyłączony, możesz użyć usługi Analizy do obsługi potrzeb związanych z raportowaniem. Aby dowiedzieć się więcej na temat wyłączania magazynu danych, zobacz Wyłączanie magazynu danych i modułu.

Funkcje planowania przebiegu

Nowe funkcje planowania przebiegu pomagają przyspieszyć i poprawić środowisko planowania przebiegu.

  • Utwórz następny przebieg lub zasubskrybuj istniejący harmonogram przebiegu bezpośrednio z centrum Sprints .
  • Użyj nowego okienka Planowanie na liście prac, aby przeciągać i upuszczać elementy robocze do przyszłych przebiegów. Okienko Planowanie zawiera daty przebiegu, liczbę elementów roboczych i planowane nakłady pracy.
  • Dodaj wymagania w górnej części tablicy zadań lub użyj szybkiego tworzenia, aby dodać je do górnej, dolnej lub wybranego wiersza na liście prac przebiegu.
  • Użyj filtrów dla atrybutów Przypisywanie, Typ elementu roboczego, Stan i Tagi, aby dostosować widoki do Twoich potrzeb.

Planowanie przebiegu

Nowe strony katalogu

Wszystkie nowe centra, w tym listy prac, tablice i przebiegi, mają teraz nowe strony katalogów zorganizowane w następujących sekcjach:

  • Kontynuuj, gdzie została przerwana Ta nowa sekcja zawiera szybki link bezpośrednio do ostatniego (Tablica | Zaległości | Sprint) byłeś na.
  • Ulubione Wszystkie ulubione tablice, przebiegi i listy prac we wszystkich zespołach.
  • Moje wszystkie tablice, listy prac i przebiegi dla zespołów, do których należysz.
  • Cała pełna lista wszystkich tablic, list prac i przebiegów.

Strony katalogów

Menu Nowe opcje widoku

Nowe koncentratory, w tym listy prac, tablice i przebiegi, mają nowe menu Opcje widoku. Jest to nowy dom dla wszystkich akcji w celu dostosowania zawartości układu i strony. Użyj opcji widoków , aby włączyć dodatkowe widoki, takie jak wyświetlanie hierarchii na listach prac lub zmienianie opcji Grupuj według na tablicy zadań, aby włączyć panel boczny na potrzeby mapowania i planowania przebiegów lub eksplorować wykresy szczegółów pracy.

Opcje widoku

Przeczytaj więcej na temat tych ekscytujących aktualizacji, nowego okienka profilu zespołu i ulubionych na naszym blogu DevOps.

Adnotacje kart obejmują usterki i niestandardowe typy elementów roboczych

Adnotacje kart są uwielbiane w intuicyjnym widoku listy kontrolnej i interakcji. Wcześniej adnotacje kart były ograniczone do domyślnych typów poziomów listy prac i nie obsługiwały błędów ani typów niestandardowych. W nowej wersji usunęliśmy ograniczenie dotyczące typów elementów roboczych i dodaliśmy możliwość wyświetlania usterek i dowolnego niestandardowego typu elementu roboczego jako adnotacji karty.

Ustawienia tablicy adnotacji kart zostały rozwinięte w celu uwzględnienia wszystkich typów elementów roboczych dostępnych dla tego poziomu listy prac.

Ustawienia adnotacji

Po włączeniu adnotacji dla elementu roboczego liczba dla tego typu elementu roboczego jest uwzględniana na karcie jako oddzielnej listy kontrolnej.

Element roboczy adnotacji

Szybkie tworzenie włączonych typów elementów roboczych jest również dostępne za pośrednictwem menu kontekstowego karty.

Szybkie tworzenie adnotacji

Przenoszenie pracy przy użyciu sugerowanych obszarów i iteracji

Często można pracować w tym samym obszarze lub iteracji i wielokrotnie przeglądać hierarchie podczas przenoszenia elementów roboczych. Kontrolki Ścieżki obszaru i iteracji zawierają teraz listę ostatnio używanych wartości jako Sugestie, zapewniając szybki dostęp do ustawiania i przechodzenia dalej.

Lista rozwijana obszaru

Ponadto daty iteracji są uwzględniane po prawej stronie nazwy, dzięki czemu można szybko ocenić, kiedy element roboczy powinien zostać dostarczony.

Lista rozwijana iteracji

Wykonywanie zapytań w harmonogramie iteracji za pomocą polecenia +/- @CurrentIteration

@CurrentIteration Makro, które pomaga zespołowi śledzić pracę na podstawie harmonogramu iteracji, obsługuje teraz przesunięcie liczb całkowitych. Łatwo zachowaj karty na temat pracy, która nie została zamknięta @CurrentIteration z - 1, lub spójrz na pracę zaplanowaną na przyszłe iteracji z @CurrentIteration + 1. Aby uzyskać więcej informacji, zobacz wpis @CurrentIteration w blogu usługi Microsoft DevOps.

Wyjaśnienie harmonogramów iteracji zapytań za pomocą parametru @CurrentIteration Team

Jeśli używasz makra @CurrentIteration w zapytaniach w przeszłości, być może zauważysz, że wyniki mogą się różnić, jeśli kontekst zespołu zmieni się w usłudze Teams z różnymi harmonogramami iteracji. Teraz podczas tworzenia lub modyfikowania zapytania @CurrentIteration za pomocą makra będzie konieczne również wybranie zespołu z harmonogramem iteracji, który jest odpowiedni dla zapytania. Za pomocą parametru Team można użyć makra @CurrentIteration w tym samym zapytaniu, ale w różnych zespołach. Jednym z przykładów może być zapytanie dotyczące elementów roboczych w dwóch różnych projektach zespołowych przy użyciu różnych nazw iteracji, a nawet harmonogramów. Oznacza to, że nie trzeba już aktualizować zapytań w miarę zmiany przebiegów. Aby uzyskać więcej informacji, zobacz wpis @CurrentIteration w blogu usługi Microsoft DevOps.

Parametr zespołu

Wykonywanie zapytań w ścieżkach obszaru zespołu przy użyciu nowego @TeamAreas makra

W ustawieniach zespołu można skojarzyć co najmniej jedną ścieżkę obszaru, która pomaga skupić się na listach prac, tablicach, planach, nawet pulpitach nawigacyjnych tylko do pracy dla tego zespołu. Jeśli jednak chcesz napisać zapytanie dla zespołu, musisz wyświetlić listę określonych ścieżek obszaru dla tego zespołu w klauzulach zapytania. Teraz dostępne jest nowe makro @TeamAreas umożliwiające łatwe odwołanie do ścieżek obszaru należących do określonego zespołu.

makro obszarów zespołu w edytorze zapytań

Wykonywanie zapytań dotyczących pustych pól tekstowych sformatowanych

Znajdź elementy robocze, które mają puste pole tekstu sformatowanego, takie jak Opis, przy użyciu nowego operatora zapytania IsEmpty .

Łatwe znajdowanie istniejących elementów roboczych w łączeniu i wspominaniu środowisk

Jeśli chcesz połączyć ze sobą dwa istniejące elementy robocze, możesz teraz łatwo znaleźć element, który jest dla Ciebie ważny przy użyciu naszej nowej kontrolki wyszukiwania elementów roboczych. Selektor zapytań został zastąpiony sugestiami wbudowanymi na podstawie ostatnio używanych elementów roboczych, a także punktu wejścia do wyszukiwania określonego elementu roboczego według identyfikatora lub tytułu.

Łączenie elementów roboczych

Wcześniej nie można było otworzyć elementu roboczego ze strony wyników wyszukiwania, jeśli okienko podglądu elementu roboczego zostało wyłączone. Utrudniłoby to zagłębienie się w wyniki wyszukiwania. Teraz możesz kliknąć tytuł elementu roboczego, aby otworzyć elementy robocze w modalnym oknie.

Repos

Ulepszony selektor gałęzi

Większość środowisk w usłudze Azure Repos wymaga wybrania repozytorium, a następnie gałęzi w tym repozytorium. Aby ulepszyć to środowisko dla organizacji z dużą liczbą gałęzi, wprowadzamy nowy selektor gałęzi. Selektor pozwala teraz wybrać ulubione gałęzie lub szybko wyszukać gałąź.

Selektor gałęzi

Otrzymywanie powiadomień po obejściu zasad żądania ściągnięcia

W przypadku zespołów korzystających z żądań ściągnięcia (PRS) i zasad gałęzi mogą wystąpić sytuacje, w których ludzie muszą zastąpić i pominąć te zasady — na przykład podczas wdrażania poprawki w problemie produkcyjnym w środku nocy. Warto zaufać deweloperom, aby wykonali właściwą czynność i użyć możliwości przesłonięcia oszczędnie. Jednocześnie zespoły muszą sprawdzić, czy te przesłonięcia zasad są używane w odpowiednich sytuacjach. Aby to umożliwić, dodaliśmy nowy filtr powiadomień, aby umożliwić użytkownikom i zespołom otrzymywanie alertów e-mail za każdym razem, gdy zasady są pomijane. Rozpocznij od utworzenia lub zaktualizowania szablonu Żądanie ściągnięcia i wybierz pozycję Obejście zasad z listy filtrów. Wybierz pozycję Zasady zostały pominięte jako wartość i otrzymasz powiadomienie za każdym razem, gdy żądanie ściągnięcia zostanie ukończone, a zasady zostaną pominięte.

Pomiń powiadomienie o zasadach

Zezwalaj na pomijanie zasad gałęzi bez rezygnacji z ochrony wypychanych

Istnieje wiele scenariuszy, w których czasami trzeba pominąć zasady gałęzi — przywrócenie zmiany, która spowodowała przerwanie kompilacji, zastosowanie poprawki w środku nocy itp. Wcześniej zaoferowaliśmy uprawnienie ("Wyklucz z wymuszania zasad"), aby ułatwić zespołom zarządzanie tym, którym użytkownikom przyznano możliwość pomijania zasad gałęzi podczas kończenia żądania ściągnięcia. Jednak to uprawnienie przyznało również możliwość wypychania bezpośrednio do gałęzi, pomijając całkowicie proces żądania ściągnięcia.

Aby ulepszyć to środowisko, podzieliliśmy stare uprawnienia, aby zapewnić większą kontrolę zespołom, które udzielają uprawnień obejścia. Istnieją dwa nowe uprawnienia do zastąpienia starego:

  1. Pomiń zasady podczas kończenia żądań ściągnięcia. Użytkownicy z tym uprawnieniem będą mogli używać środowiska "Przesłonięcia" dla żądań ściągnięcia.
  2. Pomiń zasady podczas wypychania. Użytkownicy z tym uprawnieniem będą mogli wypychać bezpośrednio do gałęzi, które mają skonfigurowane wymagane zasady.

Udzielając pierwszego uprawnienia i odmawiając drugiego, użytkownik będzie mógł w razie potrzeby użyć opcji obejścia, ale nadal będzie mieć ochronę przed przypadkowym wypchnięciem do gałęzi z zasadami.

Uwaga

Ta zmiana nie wprowadza żadnych zmian zachowania. Użytkownicy, którym wcześniej udzielono opcji Zezwalaj na "Wyklucz z wymuszania zasad", otrzymają opcję Zezwalaj na oba nowe uprawnienia, dzięki czemu będą mogli obaj zastąpić uzupełnianie żądaniami ściągnięcia i wypchnąć bezpośrednio do gałęzi przy użyciu zasad.

Aby uzyskać więcej informacji, zobacz dokumentację Ustawianie uprawnień gałęzi.

Szybkie opisywanie żądań ściągnięcia przy użyciu komunikatów zatwierdzenia

Pisanie opisowych komunikatów zatwierdzenia dodaje wartość do historii dowolnego repozytorium Git. Aby zachęcić do komunikatów zatwierdzenia jakości, nowe żądania ściągnięcia zawierające wiele zatwierdzeń będą wymagały ręcznego wprowadzenia tytułu przez współautorów.

Opisy żądań ściągnięcia będą domyślnie puste, ale nowa funkcja ułatwi dołączenie komunikatów zatwierdzenia z zatwierdzeń żądania ściągnięcia do opisu żądania ściągnięcia. Aby dodać komunikaty zatwierdzenia, po prostu kliknij przycisk Dodaj komunikaty zatwierdzenia, aby dołączyć komunikaty zatwierdzenia na końcu tekstu opisu żądania ściągnięcia.

Tworzenie żądań ściągnięcia bez domyślnego zespołu jako recenzenta

Po pierwszym uruchomieniu środowiska żądania ściągnięcia (PR) myśleliśmy, że warto przypisać wszystkie żądania ściągnięcia do kontekstu zespołu wybranego podczas tworzenia żądania ściągnięcia. To zachowanie było punktem frustracji, ponieważ wiele osób nie zauważyło połączenia między kontekstem zespołu a przypisaniem żądania ściągnięcia.

W ramach nowych zmian nawigacji skorzystaliśmy z okazji zmiany tego domyślnego skojarzenia z zespołami. Zauważysz dwie zmiany:

  1. Podczas tworzenia żądania ściągnięcia domyślnie nie są dodawani recenzenci. Lista recenzentów ma funkcję ułatwiającą dodawanie osób i grup, które zostały ostatnio dodane do żądania ściągnięcia. Wymagane zasady recenzentów mogą również pomóc zespołom, które chcą mieć pewność, że konkretni recenzenci zostaną dodani do przejrzenia kodu.
  2. Centrum Żądania ściągnięcia ma nową sekcję z możliwością dostosowywania. Domyślnie w tej sekcji przedstawiono żądania ściągnięcia "Przypisane do moich zespołów", zapewniając równoważne funkcje jako starą sekcję. Jeśli jednak należysz do wielu zespołów, w tej sekcji zostaną wyświetlone żądania ściągnięcia przypisane do dowolnego z zespołów. Sekcja jest również dostosowywalna — wystarczy kliknąć akcję "Dostosuj ten widok" w pobliżu nagłówka sekcji.

Standaryzacja opisów żądań ściągnięcia przy użyciu szablonów

Pisanie dobrych opisów żądań ściągnięcia to doskonały sposób, aby pomóc recenzentom wiedzieć, czego oczekiwać podczas przeglądania kodu. Jest to również doskonały sposób na śledzenie elementów, które należy wykonać dla każdej zmiany, takich jak testowanie, dodawanie testów jednostkowych i aktualizowanie dokumentacji. Wielu z Was prosiło o dodanie szablonów żądań ściągnięcia, aby ułatwić zespołom pisanie wspaniałych opisów, a teraz dodaliśmy tę funkcję.

Oprócz obsługi domyślnego szablonu opisu żądania ściągnięcia zespoły mogą dodawać wiele szablonów, które są prezentowane w menu na stronie tworzenia żądania ściągnięcia. Wystarczy kliknąć przycisk Dodaj szablon, aby wybrać dowolny szablon w repozytorium, aby dołączyć go do opisu żądania ściągnięcia.

Dodawanie szablonu żądania ściągnięcia

Szablony specyficzne dla gałęzi są również obsługiwane, jeśli chcesz zastosować inny szablon dla żądania ściągnięcia do określonej gałęzi lub folderu gałęzi. Jeśli na przykład chcesz mieć szablon specyficzny dla wszystkich gałęzi rozpoczynających się od "poprawka/", możesz dodać szablon, który będzie używany dla wszystkich żądania ściągnięcia do tych gałęzi.

Zapoznaj się z dokumentacją szablonów żądań ściągnięcia, aby dowiedzieć się więcej o tworzeniu i używaniu szablonów.

Zmiana docelowej gałęzi żądania ściągnięcia

W przypadku większości zespołów prawie wszystkie żądania ściągnięcia są kierowane do tej samej gałęzi, takiej jak main lub develop. Jednak w przypadku, gdy zachodzi potrzeba kierowania innej gałęzi, łatwo zapomnieć o zmianie gałęzi docelowej z domyślnej. Nowa funkcja umożliwiająca zmianę gałęzi docelowej aktywnego żądania ściągnięcia jest teraz prostą akcją. Wystarczy kliknąć ikonę ołówka w pobliżu nazwy gałęzi docelowej w nagłówku żądania ściągnięcia.

Zmień gałąź docelową

Poza poprawianiem błędów funkcja zmiany gałęzi docelowych ułatwia również "retarget" żądanie ściągnięcia, gdy gałąź docelowa została scalona lub usunięta. Rozważmy scenariusz, w którym istnieje żądanie ściągnięcia przeznaczone dla gałęzi funkcji, która zawiera pewną funkcję, od której zależą zmiany. Chcesz przejrzeć zmiany zależne w izolacji od innych zmian w gałęzi funkcji, więc początkowo jest to element docelowy features/new-feature. Recenzenci mogą następnie zobaczyć tylko zmiany i pozostawić odpowiednie komentarze.

Teraz zastanów się, co się stanie, gdyby gałąź funkcji miała również aktywne żądanie ściągnięcia i zostało scalone przed main zmianami? Wcześniej trzeba było porzucić zmiany i utworzyć nowe żądanie ściągnięcia do main, lub scalić żądanie ściągnięcia z features/new-feature, a następnie utworzyć kolejne żądanie ściągnięcia z features/new-feature do .main Dzięki tej nowej akcji w celu zaktualizowania gałęzi docelowej można po prostu zmienić gałąź docelową żądania ściągnięcia z features/new-feature na main, zachowując cały kontekst i komentarze. Zmiana gałęzi docelowej powoduje nawet utworzenie nowej aktualizacji żądania ściągnięcia, co ułatwia przyjrzenie się wcześniejszym różnicom przed zmianą gałęzi docelowej.

Aktualizacja gałęzi docelowej

Autorzy rozszerzeń mogą wysyłać zapytania kontekstowe dotyczące bieżącego repozytorium

Jednym z wyzwań dla autora rozszerzenia kontroli wersji jest uzyskanie kontekstu repozytorium wyświetlanego użytkownikowi, takiego jak nazwa, identyfikator i adres URL. Aby to ułatwić, dodaliśmy element VersionControlRepositoryService jako usługę dostępną dla rozszerzenia. Dzięki temu autor rozszerzenia może wysyłać zapytania o informacje o bieżącym kontekście repozytorium Git w internetowym interfejsie użytkownika. Obecnie ma jedną metodę getCurrentGitRepository().

  • Jeśli wybrano repozytorium Git, obiekt GitRepository jest zwracany z podstawowymi danymi dotyczącymi repozytorium (nazwa, identyfikator i adres URL)
  • Jeśli wybrano repozytorium TFVC lub usługa będzie uzyskiwana poza stronami usługi Azure Repos, zostanie zwrócona wartość null.

Oto przykładowe rozszerzenie korzystające z tej usługi.

Pipelines

Zarządzanie potokami kompilacji przy użyciu nowej strony Kompilacje

Wprowadzamy kilka ulepszeń i wprowadzamy nową wersję strony Kompilacje . Ta nowa wersja łączy katalog wszystkich potoków kompilacji i listę bieżących kompilacji, dzięki czemu można szybko poruszać się po kompilacjach projektu, aby zobaczyć ich stan. Zawiera również podgląd analizy testów dla wybranego potoku.

Strona Nowe kompilacje

Lepsze zarządzanie wiadomościami e-mail uzupełniania kompilacji i wdrażania przy użyciu ulepszonego formatowania

Wiadomości e-mail dotyczące uzupełniania kompilacji i wdrażania zostały zaktualizowane, aby były bardziej filtrowalne według reguł poczty e-mail. Teraz wiersz tematu zawiera bardziej istotne informacje na pierwszy rzut oka, treść zawiera więcej szczegółów, a ich styl został odświeżony z najnowszą marką.

Elementy nowego formatu to:

  • [Build result] [pipeline name] - [repository:branch] - [project name] - [commit]
  • [Deployment result] [pipeline name] > [release name] : [stage name]

Oto kilka przykładów:

  • [Build succeeded] IdentityService.CI - MyRepo:main - MyProject - d3b90b80
  • [Deployment succeeded] New release pipeline > NotificationSpecialRelease-1 : Stage 1

Postępuj zgodnie z nową ujednoliconą terminologią usługi Azure Pipelines

W ramach kompilacji i wydań różne terminy były używane historycznie dla podobnych pojęć. W innych przypadkach znaczenia terminów były niejasne. Na przykład, mówiąc różnicę między pulą agentów a kolejką agentów.

Terminologia została ujednolicona w usłudze Azure Pipelines, aby wyjaśnić jej pojęcia. Zostaną wyświetlone następujące ujednolicone terminy:

Poprzedni termin Ujednolicony termin Znaczenie
Hostowany agent Agent hostowany przez firmę Microsoft Agent kompilacji/wydania, który działa w infrastrukturze hostowanej w chmurze zarządzanej przez firmę Microsoft.
Agent prywatny Agent hostowany samodzielnie Agent kompilacji/wydania, który działa na maszynie udostępnionej i zarządzanej przez Ciebie.
Pula agentów Pula agentów Zestaw maszyn agentów na poziomie organizacji, który może uruchamiać kompilacje lub wydania.
Kolejka agentów Pula agentów Zestaw maszyn agentów na poziomie projektu, który może uruchamiać kompilacje lub wydania. Jest ona połączona z pulą agentów na poziomie organizacji.
Definicja kompilacji Potok kompilacji Pełny zestaw kroków kompilacji dla aplikacji.
Kompilacja Kompilacja Wystąpienie potoku kompilacji, które jest uruchomione lub zostało uruchomione.
Faza Zadanie Seria zadań, które są uruchamiane sekwencyjnie lub równolegle na agencie. Potok kompilacji lub wydania może zawierać jedno zadanie lub graf wielu zadań.
Definicja wydania Potok wydania Pełny zestaw kroków wydania dla aplikacji, które mają być wdrażane na różnych etapach.
Zwolnij Zwolnij Wystąpienie potoku wydania, które jest uruchomione lub zostało uruchomione.
Środowisko Etap Jednostka logiczna i niezależna reprezentująca miejsce wdrożenia wydania wygenerowanego z potoku wydania.
Współbieżne zadanie/potok Zadanie równoległe Zadanie równoległe umożliwia uruchamianie pojedynczego zadania kompilacji lub wydania w danej organizacji. W przypadku dostępnych bardziej równoległych zadań można jednocześnie uruchamiać więcej zadań kompilacji i wydawania.
Punkt końcowy usługi Połączenie z usługą Grupa ustawień, takich jak poświadczenia, używana do łączenia się z usługami zewnętrznymi w celu wykonywania zadań w kompilacji lub wydaniu.

Aby uzyskać więcej informacji, zobacz dokumentację pojęć.

Zarządzanie potokami wydania przy użyciu nowej strony Wydania

Nowe i w pełni przeprojektowane środowisko użytkownika jest dostępne dla strony docelowej wydania. Zobacz listę potoków wydania, które są wydawane często po lewej stronie. Możesz również przeszukiwać potoki i je ulubione.

Strona docelowa wydania

Przejdź do widoku folderów, aby utworzyć foldery dla organizacji i zabezpieczeń. Zabezpieczenia można ustawić na poziomie folderu.

Foldery wydania

Wizualizowanie postępu wydania

Nowy widok postępu wydania zapewnia aktualizacje na żywo postępu wdrażania i dostęp jednym kliknięciem w celu uzyskania dalszych szczegółów. Nowy widok wizualizuje potok wydania, co ułatwia zrozumienie, co się dzieje i wyświetla odpowiednie szczegóły i akcje na różnych etapach wydania.

Widok potoku wydania

Potok, szczegóły wydania i środowiska

Widok Potok zawiera artefakty wydania i środowiska, w których zostaną wdrożone. Obszar Wydanie zawiera szczegółowe informacje o wersji, takie jak wyzwalacz wydania, wersje artefaktów i tagi.

Środowiska są modelowane w sposób ułatwiający zrozumienie ich stanu wraz ze szczegółowymi postępami. W dowolnym momencie możesz przejść do dzienników, klikając link stanu w środowisku.

Środowiska

Przed wdrożeniem i po wdrożeniu

Jeśli warunki przed wdrożeniem lub po wdrożeniu zostały ustawione dla środowiska, jest on wskazywany na środowisko z obecnością zatwierdzeń i bram. Postęp zatwierdzeń i bram pojawia się również w stanie środowiska. Możesz podjąć akcję lub wyświetlić dalsze szczegóły, klikając ikonę warunku środowiska wiszącą z prawej lub lewej strony środowiska.

Akcje środowiska wydania

Zatwierdzenia i elementy robocze

W każdej nowej wersji można wyświetlić listę skojarzonych zatwierdzeń i elementów roboczych dla każdego środowiska oddzielnie, klikając środowisko. Jeśli lista jest długa, użyj filtrów, aby znaleźć interesujące Cię zatwierdzenie lub element roboczy.

Zatwierdzenia wydania i elementy robocze

Postęp wdrażania i dzienniki

Środowiska pokazują aktualizacje na żywo dla wdrożeń w toku, w tym liczbę faz i zadań oraz czas wykonywania. Kliknięcie stanu środowiska powoduje otwarcie widoku zawierającego dzienniki, z fokusem na tym, co jest obecnie aktywne.

Możesz kliknąć dzienniki, aby wprowadzić widok ukierunkowany.

Szczegóły dziennika wydania

Wpływ uaktualniania do usługi Azure DevOps Server 2019 na zadania: Kopiowanie plików maszyny z systemem Windows i program PoweShell na maszynie docelowej

Grupy maszyn w usłudze Test Hub zostały uznane za przestarzałe w programie TFS 2017 RTM. Usługa Grupy maszyn w usłudze Azure DevOps Server 2019 nie jest już dostępna. Będzie to miało wpływ na użytkowników zadania kopiowania plików maszyny z systemem Windows w wersji 1.* i zadania "PowerShell na maszynach docelowych" w wersji 1.*. Aby potoki nadal działały,

  • Musisz przełączyć się na zadanie "Kopia pliku maszyny z systemem Windows" w wersji 2.* i podać pełną nazwę fqdn dla maszyny docelowej, a nie tylko nazwę maszyny.
  • Przejdź do zadania "Powershell na maszynie docelowej" w wersji 2.* lub nowszej i podaj pełną nazwę fqdn maszyny lub maszyny, a następnie porty zdalnego zarządzania systemem Windows (http/https). Na przykład targetMachine:5985 lub targetMachine:5986

Wyniki testów i rozszerzalność

Wyniki wykonywania testów są również udostępniane dla każdego środowiska. Kliknięcie wyników testu spowoduje otwarcie widoku zawierającego szczegóły testu, w tym wyniki z innych rozszerzeń, które przyczyniają się do procesu.

Wyniki testu wersji

Istniejące rozszerzenia działają w tym nowym widoku, a ponadto istnieją nowe punkty rozszerzalności umożliwiające opracowywanie rozszerzeń w celu uzyskania jeszcze większej ilości informacji dla środowiska. Aby uzyskać więcej informacji, zobacz dokumentację współtworzenia i rozszerzeń .

Konfigurowanie kompilacji przy użyciu języka YAML

Potoki kompilacji oparte na języku YAML są dostępne na serwerze Usługi Azure DevOps. Zautomatyzuj potok ciągłej integracji przy użyciu pliku YAML zaewidencjonowanego w repozytorium. Pełne odwołanie do schematu YAML można znaleźć tutaj.

Aby bezproblemowo obsługiwać potoki kompilacji oparte na języku YAML, zmieniliśmy domyślne zachowanie wszystkich nowo utworzonych zasobów (np. połączeń usług, grup zmiennych, pul agentów i bezpiecznych plików) do użycia we wszystkich potokach tego projektu. Jeśli chcesz mieć ściślejszą kontrolę nad zasobami, możesz wyłączyć domyślny model autoryzacji (zobacz rysunek poniżej). Gdy to zrobisz, osoba z uprawnieniami do korzystania z zasobu musi jawnie zapisać potok w edytorze internetowym po dodaniu odwołania do zasobu do pliku YAML.

YAML

Duże produkty mają kilka składników zależnych od siebie. Te składniki są często tworzone niezależnie. Gdy składnik nadrzędny (na przykład biblioteka) ulegnie zmianie, zależności podrzędne muszą zostać ponownie skompilowane i ponownie wycofane. Zespoły zazwyczaj zarządzają tymi zależnościami ręcznie.

Teraz możesz wyzwolić kompilację po pomyślnym zakończeniu innej kompilacji. Artefakty utworzone przez kompilację nadrzędną można pobrać i użyć w późniejszej kompilacji, a także pobrać dane z tych zmiennych: Build.TriggeredBy.BuildId, Build.TriggeredBy.DefinitionId, Build.TriggeredBy.BuildDefinitionName. Aby uzyskać więcej informacji, zobacz dokumentację wyzwalaczy kompilacji .

Konfigurowanie tworzenia łańcucha

Należy pamiętać, że w niektórych przypadkach pojedyncza kompilacja wielofazowa może spełniać Twoje potrzeby. Jednak wyzwalacz ukończenia kompilacji jest przydatny, jeśli wymagania obejmują różne ustawienia konfiguracji, opcje lub inny zespół do posiadania procesu zależnego.

Lokalne aktualizowanie agenta

Zadania instalowane z galerii czasami wymagają nowszej wersji agenta potoków. Jeśli serwer Usługi Azure DevOps może łączyć się z Internetem, nowsze wersje są pobierane automatycznie. Jeśli nie, musisz ręcznie uaktualnić każdego agenta. Począwszy od tej wersji, możesz skonfigurować serwer Usługi Azure DevOps, aby wyszukać pliki pakietu agenta na dysku lokalnym, a nie z Internetu. Zapewnia to zarówno elastyczność, jak i kontrolę nad udostępnianymi wersjami agentów bez konieczności uwidaczniania serwera Usługi Azure DevOps w Internecie.

Adres URL wskaźnika Stanu nowej kompilacji

Znaczki kompilacji osadzone na stronie głównej repozytorium są typowym sposobem wyświetlania kondycji repozytorium. Chociaż do tej pory mieliśmy znaczki kompilacji, było kilka problemów:

  • Adres URL nie był intuicyjny
  • Znaczek nie był specyficzny dla gałęzi
  • Nie było możliwości kliknięcia wskaźnika przez użytkownika, aby pobrać użytkownika do najnowszej kompilacji tej definicji

Teraz wprowadzamy nowy interfejs API dla znaczków kompilacji, które rozwiązuje te problemy. Nowy interfejs API umożliwia użytkownikom publikowanie stanu poszczególnych gałęzi i umożliwia użytkownikom przejście do najnowszej kompilacji wybranej gałęzi. Możesz uzyskać kod Markdown dla nowego adresu URL wskaźnika stanu, wybierając akcję menu Znaczek Stan na nowej stronie Kompilacje.

W celu zapewnienia zgodności z poprzednimi wersjami będziemy nadal honorować starsze adresy URL znaczka kompilacji.

Dodawanie niestandardowych liczników kompilacji do kompilacji

Liczniki kompilacji umożliwiają unikatowe kompilacje liczb i etykiet. Wcześniej można było użyć specjalnej zmiennej $(rev:r), aby to osiągnąć. Teraz możesz zdefiniować własne zmienne licznika w definicji kompilacji, które są automatycznie zwiększane za każdym razem, gdy uruchamiasz kompilację. Można to zrobić na karcie zmiennych definicji. Ta nowa funkcja zapewnia większą moc w następujący sposób:

  • Możesz zdefiniować niestandardowy licznik i ustawić jego wartość inicjacji. Na przykład możesz uruchomić licznik o godzinie 100. $(rev:r) zawsze zaczyna się od 0.
  • Aby zresetować licznik, możesz użyć własnej logiki niestandardowej. Element $(rev:r) jest powiązany z generowaniem numeru kompilacji i jest resetowany automatycznie za każdym razem, gdy w numerze kompilacji znajduje się nowy prefiks.
  • Można zdefiniować wiele liczników na definicję.
  • Możesz wykonać zapytanie dotyczące wartości licznika poza kompilacją. Można na przykład policzyć liczbę kompilacji, które zostały uruchomione od ostatniego zresetowania przy użyciu licznika.

Aby uzyskać więcej informacji na temat liczników kompilacji, zobacz dokumentację dotyczącą zmiennych zdefiniowanych przez użytkownika.

Weryfikacje zabezpieczeń i zgodności usługi Azure Policy w usłudze Pipelines

Chcemy zapewnić stabilność i bezpieczeństwo oprogramowania na wczesnym etapie procesu tworzenia oprogramowania, jednocześnie łącząc programowanie, bezpieczeństwo i operacje. W tym celu dodaliśmy obsługę usługi Azure Policy.

Usługa Azure Policy pomaga zarządzać problemami z zasobami IT i zapobiegać im dzięki definicjom zasad wymuszającym reguły i efekty dotyczące zasobów. W przypadku korzystania z usługi Azure Policy zasoby pozostają zgodne ze standardami firmy i umowami dotyczącymi poziomu usług.

Aby zapewnić zgodność z wytycznymi dotyczącymi zgodności i zabezpieczeń w ramach procesu wydania, ulepszyliśmy środowisko wdrażania grupy zasobów platformy Azure. Teraz kończy się niepowodzeniem zadania wdrażania grupy zasobów platformy Azure z odpowiednimi błędami związanymi z zasadami w przypadku naruszeń podczas wdrażania szablonów usługi ARM.

Azure Policy

Ponadto dodaliśmy szablon definicji wydania usługi Azure Policy. Umożliwi to użytkownikom tworzenie zasad platformy Azure i przypisywanie tych zasad do zasobów, subskrypcji lub grup zarządzania z samej definicji wydania.

Szablon usługi Azure Policy

Kompilowanie na 32-bitowych platformach Linux/ARM oraz Windows

Agent typu open source usługi Azure Pipelines dla wielu platform zawsze był obsługiwany w 64-bitowych systemach Windows, macOS i Linux. W tej wersji wprowadzamy dwie nowe obsługiwane platformy: Linux/ARM i Windows/32-bitowe. Te nowe platformy umożliwiają budowanie na mniej popularnych platformach, ale nie mniej ważnych, takich jak Raspberry Pi, maszyna z systemem Linux/ARM.

Ulepszone środowiska testów w potokach

Karta Testy ma teraz nowoczesne środowisko, które zapewnia zaawansowane informacje o teście kontekstowym dla potoków. Nowe środowisko zapewnia widok testu w toku, pełne środowisko debugowania strony, w historii testów kontekstowych, raportowanie przerwanego wykonywania testu i podsumowanie poziomu przebiegu.

Nowe centrum testów

Wyświetlanie wykonywania testów w toku

Testy, takie jak integracja i testy funkcjonalne, mogą być uruchamiane przez długi czas, dlatego ważne jest, aby w danym momencie zobaczyć wykonywanie testów. W widoku testu w toku nie trzeba już czekać na ukończenie wykonywania testu, aby poznać wynik testu. Wyniki są dostępne niemal w czasie rzeczywistym, ponieważ są uruchamiane, co ułatwia szybsze wykonywanie akcji. Możesz debugować błąd lub przerwać, zgłosić usterkę lub przerwać potok. Funkcja jest obecnie dostępna zarówno dla potoku kompilacji, jak i wydania przy użyciu zadania testowego programu VS w fazie multi agenta, przy użyciu zadania Publikuj wyniki testu lub publikowania wyników testów przy użyciu interfejsów API. W przyszłości planujemy rozszerzyć to środowisko na potrzeby wykonywania testów przy użyciu pojedynczego agenta.

W poniższym widoku przedstawiono podsumowanie testu w toku w nowym widoku postępu wydania, raportowanie łącznej liczby testów i liczby niepowodzeń testów w danym punkcie w czasie.

Widok testu w toku

Klikając powyższe podsumowanie testu w toku, możesz wyświetlić szczegółowe podsumowanie testu wraz z informacjami o niepomyślnym lub przerwanym teście w planach testów. Podsumowanie testu jest odświeżane w okresowych odstępach czasu z możliwością odświeżania widoku szczegółów na żądanie na podstawie dostępności nowych wyników.

Szczegółowe podsumowanie testu

Wyświetlanie szczegółów debugowania przebiegu testu na pełnej stronie

Komunikaty o błędach i ślady stosu są w naturze długie i wymagają wystarczającej ilości nieruchomości, aby wyświetlić szczegóły podczas debugowania. Aby korzystać ze środowiska debugowania immersywnego, możesz teraz rozwinąć widok testu lub przebiegu testu do widoku pełnej strony, jednocześnie będąc w stanie wykonać wymagane operacje kontekstowe, takie jak tworzenie usterek lub skojarzenie wymagań dla bieżącego wyniku testu.

Debugowanie pełnej strony

Wyświetlanie historii testów w kontekście

W przeszłości zespoły musiałyby przejść do centrum Uruchomienia , aby wyświetlić historię wyniku testu. Nowe środowisko umożliwia wprowadzenie historii testów w kontekście na karcie Plany testów na potrzeby kompilacji i wydania. Informacje o historii testów są udostępniane w sposób progresywny, począwszy od bieżącej definicji kompilacji lub środowiska dla wybranego testu, a następnie innych gałęzi i środowisk dla kompilacji i wydania odpowiednio.

Historia testów kontekstowych

Wyświetlanie przerwanych testów

Wykonanie testu może zostać przerwane z wielu powodów, takich jak zły kod testowy, źródło w ramach testu i problemy środowiskowe. Niezależnie od przyczyny przerwania ważne jest, aby zdiagnozować zachowanie i zidentyfikować główną przyczynę. Teraz możesz wyświetlić przerwane testy i przebiegi testów wraz z ukończonych przebiegów w planach testów. Funkcja jest obecnie dostępna dla potoku kompilacji i wydania przy użyciu zadania testowego programu VS w fazie multi agenta lub publikowania wyników testów przy użyciu interfejsów API. W przyszłości planujemy rozszerzyć to środowisko na potrzeby wykonywania testów przy użyciu pojedynczego agenta.

Wyświetlanie przerwanych testów

Obsługa funkcji śledzenia testów i środowisk wydania w historii testów

Dodajemy obsługę wyświetlania historii zautomatyzowanego testu pogrupowanego według różnych środowisk wydania, w których jest uruchamiany test. Jeśli modelujesz środowiska wydania jako potoki wydania lub środowiska testowe i uruchamiasz testy w takich środowiskach, możesz sprawdzić, czy test przechodzi w środowisku deweloperskim, ale kończy się niepowodzeniem w środowisku integracji. Możesz dowiedzieć się, czy przechodzi w angielskich ustawieniach regionalnych, ale kończy się niepowodzeniem w środowisku, które ma tureckie ustawienia regionalne. Dla każdego środowiska znajdziesz stan najnowszego wyniku testu, a jeśli test zakończył się niepowodzeniem w tym środowisku, znajdziesz również wydanie, od którego test zakończył się niepowodzeniem.

Przejrzyj podsumowane wyniki testu

Podczas wykonywania testu test może zduplikować wiele wystąpień testów, które przyczyniają się do ogólnego wyniku. Oto kilka przykładów: testy, które są uruchamiane ponownie z powodu awarii, testy składające się z uporządkowanej kombinacji innych testów (np. uporządkowanego testu) lub testów mających różne wystąpienia na podstawie podanego parametru wejściowego (testy oparte na danych). Ponieważ te testy są powiązane, muszą być zgłaszane wraz z ogólnym wynikiem uzyskanym na podstawie poszczególnych wyników testu. Dzięki tej aktualizacji wprowadzimy ulepszoną wersję wyników testów przedstawionych jako hierarchia na karcie Testy w wersji. Spójrzmy na przykład.

Wcześniej wprowadziliśmy możliwość ponownego uruchamiania testów, które zakończyły się niepowodzeniem w zadaniu VS Test . Jednak zgłosiliśmy tylko ostatnią próbę testu, która nieco ograniczyła użyteczność tej funkcji. Teraz rozszerzyliśmy tę funkcję, aby zgłosić każde wystąpienie wykonania testu jako próbę. Ponadto interfejs API usługi Test Management obsługuje teraz możliwość publikowania wyników testów hierarchicznych i wykonywania zapytań. Aby uzyskać więcej informacji, zobacz dokumentację interfejsu API wyników testów.

Debugowanie podsumowania testu

Uwaga

Metryki w sekcji podsumowania testu (np. Łączna liczba testów, Powodzenie itp.) są obliczane przy użyciu poziomu głównego hierarchii, a nie każdej pojedynczej iteracji testów.

Wyświetlanie analizy testów w usłudze Pipelines

Śledzenie jakości testów w czasie i poprawianie zabezpieczeń testów jest kluczem do utrzymania potoku w dobrej kondycji. Funkcja analizy testów zapewnia niemal rzeczywisty wgląd w dane testowe na potrzeby kompilacji i potoków wydania. Pomaga to zwiększyć wydajność potoku, identyfikując powtarzające się, wysokiej jakości problemy z jakością.

Wyniki testów można grupować według różnych elementów, identyfikować kluczowe testy dla gałęzi lub plików testowych albo przechodzić do szczegółów określonego testu, aby wyświetlić trendy i zrozumieć problemy z jakością, takie jak flakiness.

Wyświetl analizę testów dla kompilacji i wydań, wersja zapoznawcza poniżej:

Analiza testowa

Więcej informacji można znaleźć w naszej dokumentacji.

Upraszczanie definicji za pomocą wielu zadań bez agenta

Zadania w fazie bez agenta są orkiestrowane i wykonywane na serwerze. Fazy bez agenta nie wymagają agenta ani żadnych komputerów docelowych. W przeciwieństwie do faz agenta tylko jedno zadanie można dodać do każdej fazy bez agenta w definicjach. Oznaczało to, że wiele faz musiało zostać dodanych, gdy w procesie było więcej niż jedno zadanie bez agenta, dzięki czemu definicja jest zbiorcza. To ograniczenie zostało złagodzone, co pozwala zachować wiele zadań w fazach bez agenta. Zadania w tej samej fazie będą wykonywane sekwencyjnie, podobnie jak w przypadku faz agenta. Aby uzyskać więcej informacji, zobacz dokumentację faz serwera.

Stopniowo uwidaczniaj wdrożenia i fazy przy użyciu bram wydań

Za pomocą bram wydania można określić kryteria kondycji aplikacji, które muszą zostać spełnione przed podwyższeniem poziomu wydania do następnego środowiska. Wszystkie określone bramy są okresowo oceniane przed lub po każdym wdrożeniu, dopóki nie zostaną wykonane pomyślnie. Cztery typy bram są dostępne w pudełku i można dodać więcej bram z witryny Marketplace. Będzie można przeprowadzić inspekcję, że zostały spełnione wszystkie niezbędne kryteria wdrożenia. Zobacz dokumentację wydań bram, aby uzyskać więcej informacji.

Panel wypuszczania bram

Wstrzymaj wdrożenia, dopóki bramy nie powiedzą się spójnie

Bramy wydania umożliwiają automatyczną ocenę kryteriów kondycji przed podwyższeniem poziomu wydania do następnego środowiska. Domyślnie wydanie jest wykonywane po otrzymaniu jednego pomyślnego przykładu dla wszystkich bram. Nawet jeśli brama jest niekonsekwentna, a odebrana próbka zakończy się niepowodzeniem, wyzwalany jest komunikat. Aby uniknąć tego typu problemów, możesz teraz skonfigurować wydanie, aby zweryfikować spójność kondycji przez minimalny czas trwania przed postępem. W czasie wykonywania wydanie zapewniłoby pomyślne kolejne oceny bram przed zezwoleniem na podwyższenie poziomu. Łączny czas oceny zależy od "czasu między ponowną oceną" i zwykle będzie większy niż skonfigurowany minimalny czas trwania. Aby uzyskać więcej informacji, zobacz dokumentację Kontrola wdrażania wydania przy użyciu bram .

Ustawienie blokady bram

Automatyczne wdrażanie w nowych miejscach docelowych w grupie wdrażania

Wcześniej, gdy nowe cele zostały dodane do grupy wdrożenia, wymagane było ręczne wdrożenie, aby upewnić się, że wszystkie obiekty docelowe mają tę samą wersję. Teraz możesz skonfigurować środowisko tak, aby automatycznie wdrażało ostatnią pomyślną wersję do nowych obiektów docelowych. Aby uzyskać więcej informacji, zobacz dokumentację grupy wdrożeń.

Grupy wdrożeń

Ciągłe wdrażanie kompilacji oznaczonych przez przetwarzanie po kompilacji

Wyzwalacze ciągłego wdrażania tworzą wydanie po zakończeniu kompilacji. Jednak czasami kompilacje są przetwarzane po przetworzeniu, a kompilacja powinna zostać wydana tylko po zakończeniu tego przetwarzania. Teraz możesz wykorzystać tagi kompilacji, które zostaną przypisane podczas przetwarzania końcowego, w filtrach wyzwalacza wydania.

wyzwalacz tagu kompilacji

Ustawianie zmiennej w czasie wydania

W definicji wydania możesz teraz wybrać zmienne, które chcesz ustawić podczas tworzenia wydania.

Zmienna wydania

Wartość podana dla zmiennej podczas tworzenia wydania jest używana tylko dla tej wersji. Ta funkcja pomoże uniknąć wielu kroków tworzenia w wersji roboczej, aktualizowania zmiennych w wersji roboczej i wyzwalania wydania za pomocą zmiennej .

Zmienna wydania w wersji

Przekazywanie zmiennych środowiskowych do zadań

Autorzy zadań ciągłej integracji/ciągłego wdrażania mogą ustawić nową właściwość, showEnvironmentVariables, w task.json przekazać zmienne środowiskowe do zadań. Gdy to zrobisz, dodatkowa kontrolka jest renderowana na zadaniu w edytorze kompilacji. Jest to dostępne dla zadań programu PowerShell, cmd i powłoki Bash .

Przekazywanie zmiennych środowiskowych

Umożliwia to dwa scenariusze:

  • Zadanie wymaga zmiennej środowiskowej z zachowaną wielkością liter w nazwie zmiennej. Na przykład w powyższym przykładzie zmienna środowiskowa przekazywana do zadania to "foo", a nie "FOO".
  • Umożliwia przekazywanie wartości wpisów tajnych w bezpieczny sposób do skryptów. Jest to preferowane przekazywanie wpisów tajnych jako argumentów do skryptów, ponieważ system operacyjny na agencie może rejestrować wywołanie procesów, w tym ich argumenty.

Klonowanie grup zmiennych

Dodaliśmy obsługę klonowania grup zmiennych. Zawsze, gdy chcesz replikować grupę zmiennych i po prostu zaktualizować kilka zmiennych, nie musisz przechodzić przez żmudny proces dodawania zmiennych jeden po drugim. Teraz możesz szybko utworzyć kopię grupy zmiennych, odpowiednio zaktualizować wartości i zapisać ją jako nową grupę zmiennych.

Klonowanie grupy zmiennych

Uwaga

Wartości zmiennych tajnych nie są kopiowane podczas klonowania grupy zmiennych. Należy zaktualizować zaszyfrowane zmienne, a następnie zapisać sklonowaną grupę zmiennych.

Ignoruj bramę wydania dla wdrożenia

Bramy wydania umożliwiają automatyczną ocenę kryteriów kondycji przed podwyższeniem poziomu wydania do następnego środowiska. Domyślnie potok wydania postępuje tylko wtedy, gdy wszystkie bramy są w dobrej kondycji w tym samym czasie. W niektórych sytuacjach, takich jak w przypadku przyspieszenia wydania lub po ręcznym sprawdzeniu kondycji, osoba zatwierdzająca może chcieć zignorować bramę i zezwolić na postęp wydania, nawet jeśli ta brama nie ma jeszcze oceny jako dobrej kondycji. Dokumentacja bram wydania zawiera więcej informacji.

Ignoruj bramy

Wykonywanie dodatkowych testów przy użyciu wyzwalacza wydania żądania ściągnięcia

Udało Ci się wyzwolić kompilację na podstawie żądania ściągnięcia i uzyskać te szybkie opinie przed scaleniem przez pewien czas. Teraz możesz również skonfigurować wyzwalacz żądania ściągnięcia dla wydania. Stan wydania zostanie opublikowany z powrotem do repozytorium kodu i będzie widoczny bezpośrednio na stronie żądania ściągnięcia. Jest to przydatne, jeśli chcesz wykonać dodatkowe testy funkcjonalne lub ręczne w ramach przepływu pracy żądania ściągnięcia.

Wyzwalacz żądania ściągnięcia w wersji

Tworzenie połączenia usługi platformy Azure z jednostką usługi uwierzytelnianego przy użyciu certyfikatu

Teraz można zdefiniować połączenie usługi platformy Azure z jednostką usługi i certyfikatem na potrzeby uwierzytelniania. Dzięki połączeniu usługi platformy Azure obsługującemu teraz jednostkę usługi, która uwierzytelnia się przy użyciu certyfikatu, można teraz wdrożyć w usłudze Azure Stack skonfigurowanym za pomocą usług AD FS. Aby utworzyć jednostkę usługi z uwierzytelnianiem certyfikatu, zapoznaj się z artykułem dotyczącym tworzenia jednostki usługi uwierzytelnianej przy użyciu certyfikatu.

Obsługa funkcji uruchamiania za pomocą pakietu we wdrożeniach usługi Azure App Service

Wersja zadania aplikacja systemu Azure Service Deploy (4.*) obsługuje teraz polecenie RunFromPackage (wcześniej o nazwie RunFromZip).

Usługa App Service obsługuje wiele różnych technik wdrażania plików, takich jak msdeploy (aka WebDeploy), git, ARM i inne. Jednak wszystkie te techniki mają ograniczenie. Pliki są wdrażane w folderze wwwroot (w szczególności d:\home\site\wwwroot), a następnie w środowisku uruchomieniowym są uruchamiane pliki z tego miejsca.

W przypadku uruchamiania z pakietu nie ma już kroku wdrażania, który kopiuje poszczególne pliki do katalogu wwwroot. Zamiast tego wystarczy wskazać plik zip, a plik zip zostanie zainstalowany na wwwroot jako system plików tylko do odczytu. Ma to kilka korzyści:

  • Zmniejsza ryzyko problemów z blokowaniem kopiowania plików.
  • Można wdrożyć w aplikacji produkcyjnej (z ponownym uruchomieniem).
  • Możesz mieć pewność, że pliki są uruchomione w aplikacji.
  • Zwiększa wydajność wdrożeń usługi aplikacja systemu Azure Service.
  • Może skrócić czasy zimnego uruchamiania, szczególnie w przypadku funkcji Języka JavaScript z dużymi drzewami pakietów npm.

Wdrażanie kontenerów systemu Linux za pomocą zadania wdrażania serwera aplikacji

Wersja 4.* zadania aplikacja systemu Azure Service Deploy obsługuje teraz wdrażanie własnego kontenera niestandardowego w usłudze Azure Functions w systemie Linux.

Model hostingu systemu Linux dla usługi Azure Functions jest oparty na kontenerach platformy Docker, co zapewnia większą elastyczność w zakresie tworzenia pakietów i korzystania z zależności specyficznych dla aplikacji. Funkcje w systemie Linux mogą być hostowane w 2 różnych trybach:

  1. Wbudowany obraz kontenera: udostępniasz kod aplikacji funkcji, a platforma Azure udostępnia kontener (wbudowany tryb obrazu) i zarządza nim, więc nie jest wymagana żadna wiedza związana z platformą Docker. Jest to obsługiwane w istniejącej wersji zadania Wdrażania usługi App Service.
  2. Niestandardowy obraz kontenera: ulepszyliśmy zadanie Wdrażanie usługi App Service w celu obsługi wdrażania niestandardowych obrazów kontenerów w usłudze Azure Functions w systemie Linux. Jeśli funkcje wymagają określonej wersji językowej lub wymagają określonej zależności lub konfiguracji, która nie jest podana na wbudowanym obrazie, możesz utworzyć i wdrożyć obraz niestandardowy w funkcji platformy Azure w systemie Linux przy użyciu usługi Azure Pipelines.

Zadanie Xcode obsługuje nowo wydane środowisko Xcode 10

Ukończanie wydania programu Xcode 10 przez firmę Apple, można teraz ustawić projekty tak, aby kompilować lub testować je specjalnie z programem Xcode 10. Potok może również uruchamiać zadania równolegle z macierzą wersji programu Xcode. Do uruchamiania tych kompilacji można użyć puli agentów systemu macOS hostowanej przez firmę Microsoft. Zapoznaj się ze wskazówkami dotyczącymi używania środowiska Xcode w usłudze Azure Pipelines.

Xcode 10

Usprawnij wdrażanie na platformie Kubernetes przy użyciu programu Helm

Helm to narzędzie usprawniające instalowanie aplikacji Kubernetes i zarządzanie nimi. Zyskała również dużą popularność i wsparcie społeczne w ciągu ostatniego roku. Zadanie programu Helm w wersji jest teraz dostępne do tworzenia pakietów i wdrażania pakietów Helm w usłudze Azure Container Service (AKS) lub w innym klastrze Kubernetes.

Po dodaniu tego zadania programu Helm można teraz skonfigurować potok ciągłej integracji/ciągłego wdrażania oparty na programie Helm na potrzeby dostarczania kontenerów do klastra Kubernetes. Aby uzyskać więcej informacji, zobacz dokumentację Deploy using Kubernetes to Azure Container Service (Wdrażanie przy użyciu rozwiązania Kubernetes w usłudze Azure Container Service ).

zadania helm

Kontrolowanie wersji programu Helm używanej w wersji

Zadanie Instalatora narzędzia Helm uzyskuje określoną wersję programu Helm z Internetu lub pamięci podręcznej narzędzi i dodaje ją do ścieżki agenta (hostowanego lub prywatnego). To zadanie umożliwia zmianę wersji programu Helm używanej w kolejnych zadaniach, takich jak zadanie interfejsu wiersza polecenia platformy .NET Core. Dodanie tego zadania przed zadaniem Helm Deploy w definicji kompilacji lub wydania gwarantuje, że pakujesz i wdrażasz aplikację przy użyciu odpowiedniej wersji programu Helm. To zadanie pomaga również w opcjonalnym instalowaniu narzędzia kubectl , które jest wymaganiem wstępnym, aby program Helm działał.

Ciągłe wdrażanie w usłudze Azure Database for MySQL

Teraz możesz stale wdrażać w usłudze Azure Database for MySQL — baza danych MySQL platformy Azure jako usługa. Zarządzanie plikami skryptów MySQL w kontroli wersji i ciągłe wdrażanie w ramach potoku wydania przy użyciu natywnego zadania, a nie skryptów programu PowerShell.

Korzystanie z ulepszonych zadań opartych na zdalnym programie PowerShell systemu Windows

Dostępne są nowe i ulepszone zadania zdalne programu Windows PowerShell. Te ulepszenia obejmują kilka poprawek wydajności i obsługę dzienników na żywo i poleceń wyjściowych konsoli, takich jak Write-Host i Write-Output.

Program PowerShell w zadaniu docelowym (wersja: 3.*): Możesz dodać skrypt wbudowany, zmodyfikować opcje PSSession, kontrolować "ErrorActionPreference" i zakończyć się niepowodzeniem w przypadku błędu standardowego.

Zadanie kopiowania plików platformy Azure (wersja: 2.*): Dostarczane z najnowszym narzędziem AzCopy (wersja 7.1.0), które rozwiązuje problem z usługą GitHub.

Filtrowanie gałęzi dla usługi GitHub Enterprise lub zewnętrznych artefaktów git

Podczas wydawania z repozytoriów GitHub Enterprise lub zewnętrznych repozytoriów Git można teraz skonfigurować określone gałęzie, które zostaną wydane. Na przykład możesz chcieć wdrożyć tylko kompilacje pochodzące z określonej gałęzi do środowiska produkcyjnego.

filtry gałęzi

Tworzenie aplikacji napisanych w języku Go

Użyj zadania Instalatora narzędzi języka Go, aby zainstalować co najmniej jedną wersję narzędzia Go Na bieżąco. To zadanie uzyskuje określoną wersję narzędzia Go Wymagane przez projekt i dodaje je do ścieżki agenta kompilacji. Jeśli docelowa wersja narzędzia Języka Go jest już zainstalowana na agencie, to zadanie pominie proces pobierania i instalowania go ponownie.

Zadanie Go ułatwia pobieranie zależności, kompilowanie lub testowanie aplikacji. Możesz również użyć tego zadania, aby uruchomić wybrane niestandardowe polecenie Języka Go.

Uruchamianie wbudowanych lub opartych na plikach skryptów języka Python w potoku

Nowe zadanie skryptu języka Python upraszcza uruchamianie skryptów języka Python w potoku. Zadanie spowoduje uruchomienie skryptu z pliku języka Python (.py) w repozytorium lub ręczne wprowadzenie skryptu w ustawieniach zadania w celu zapisania w ramach potoku. Zadanie będzie używać wersji języka Python w ścieżce lub można określić ścieżkę bezwzględną do interpretera języka Python do użycia.

Korzystanie z ulepszonych danych wyjściowych kompilacji i testowania kodu Xcode z platformy xcpretty

xcpretty zwiększa czytelność danych wyjściowych xcodebuild i generuje wyniki testu w formacie JUnit. Zadanie kompilacji Xcode używa teraz automatycznie środowiska xcpretty, gdy jest on dostępny na maszynie agenta, ponieważ jest on hostowany agentów systemu macOS. Chociaż dane wyjściowe xcpretty mogą być inne i mniej pełne niż dane wyjściowe xcodebuild, udostępniamy pełne dzienniki xcodebuild dla każdej kompilacji.

Test Plans

Klient modułu uruchamiającego testy testowe (Plany testów platformy Azure) do uruchamiania testów ręcznych dla aplikacji klasycznych

Teraz możesz użyć klienta modułu uruchamiającego testy (Azure Test Plans) do uruchamiania testów ręcznych dla aplikacji klasycznych. Pomoże to przejść z programu Microsoft Test Manager do planów testów platformy Azure. Zapoznaj się z naszymi wskazówkami tutaj. Korzystając z klienta modułu uruchamiającego testy testowe, możesz uruchamiać testy ręczne i rejestrować wyniki testów dla każdego kroku testu. Masz również możliwości zbierania danych, takie jak zrzut ekranu, dziennik akcji obrazu i nagrywanie wideo audio. Jeśli podczas testowania wystąpi problem, użyj modułu uruchamiającego testy, aby utworzyć usterkę z krokami testowymi, zrzutami ekranu i komentarzami automatycznie uwzględninymi w usterce.

Moduł uruchamiający testy (Plany testów platformy Azure) wymaga jednorazowego pobierania i instalowania modułu uruchamiającego testy. Wybierz pozycję Uruchom dla aplikacji klasycznej, jak pokazano poniżej.

Moduł uruchamiający testy platformy Azure

Instalowanie modułu uruchamiającego testy platformy Azure

Artifacts

Źródła nadrzędne

Usługa Azure DevOps Server 2019 udostępnia istotne aktualizacje źródeł nadrzędnych dostępnych w źródłach danych usługi Azure Artifacts:

  • Możesz dodać nuget.org nadrzędne źródła do istniejących źródeł utworzonych w poprzednich wersjach serwera TFS. Poszukaj baneru nad pakietami kanału informacyjnego, aby uzyskać więcej informacji, w tym zmiany zachowania, o których należy pamiętać przed uaktualnieniem.
  • Do kanału informacyjnego można dodawać inne źródła danych usługi Azure DevOps Server, co oznacza, że możesz używać pakietów NuGet i npm z tych kanałów informacyjnych za pośrednictwem kanału informacyjnego.

Wprowadziliśmy również nową rolę w usłudze Azure Artifacts: "Współpracownicy". Współpracownik może zapisywać pakiety ze źródła nadrzędnego, ale nie może publikować pakietów bezpośrednio w kanale informacyjnym (np. przy użyciu funkcji publikowania nuget). Dzięki temu można ograniczyć publikowanie pakietów do zaufanego użytkownika lub systemu kompilacji, umożliwiając inżynierom korzystanie z nowych pakietów ze źródeł nadrzędnych.

Obserwowanie pakietów

Ułatwiliśmy jeszcze łatwiejsze konfigurowanie powiadomień za pomocą nowego przycisku Obserwuj bezpośrednio w każdym pakiecie. Przycisk Obserwuj jest również zgodny z widokami wersji. Jeśli obserwujesz pakiet podczas przeglądania go za pośrednictwem widoku, będziesz otrzymywać tylko aktualizacje dla nowych wersji, które są promowane do tego widoku.

Zmienianie ustawień kanału informacyjnego bez konieczności ręcznego zapisywania

Ulepszono kilka interakcji na stronie ustawień kanału informacyjnego. Teraz wprowadzane zmiany, takie jak dodawanie nadrzędnego lub uprawnienia, są zapisywane natychmiast. Oznacza to, że nie musisz martwić się o utratę zmian podczas przełączania się między przestawami ustawień.

Uproszczenie uwierzytelniania przy użyciu nowego, międzyplatformowego dostawcy poświadczeń dla pakietów NuGet

Interakcja z uwierzytelnionymi kanałami informacyjnymi NuGet po prostu znacznie się poprawiła. Nowy dostawca poświadczeń usługi Azure Artifacts oparty na platformie .NET Core współpracuje z oprogramowaniem msbuild, dotnet i nuget(.exe) w systemach Windows, macOS i Linux. Za każdym razem, gdy chcesz używać pakietów ze źródła danych usługi Azure Artifacts, dostawca poświadczeń automatycznie uzyska i zapisze token w imieniu używanego klienta NuGet. Nie trzeba już ręcznie przechowywać tokenu i zarządzać nim w pliku konfiguracji.

Aby uzyskać nowego dostawcę, przejdź do witryny GitHub i postępuj zgodnie z instrukcjami dotyczącymi klienta i platformy.

Kompresowanie symboli podczas publikowania w udziale plików

Zaktualizowaliśmy zadanie Indeksowanie i publikowanie symboli, aby obsługiwać kompresowanie symboli po opublikowaniu ich w udziale plików.

Kompresuj symbole

Witryna Wiki

Publikowanie plików markdown z repozytorium Git jako witryny typu wiki

Deweloperzy tworzą dokumentację dla "interfejsów API", "zestawów SDK" i "pomocników wyjaśniających kod" w repozytoriach kodu. Następnie czytelnicy muszą przesiewać kod, aby znaleźć odpowiednią dokumentację. Teraz możesz po prostu opublikować pliki markdown z repozytoriów kodu i hostować je w witrynie Wiki.

publiczny kod jako akcja typu wiki

W witrynie Wiki zacznij od kliknięcia pozycji Opublikuj kod jako witrynę typu wiki. Następnie możesz określić folder w repozytorium Git, który ma zostać podwyższony.

okno dialogowe publikowania stron

Po kliknięciu pozycji Publikuj wszystkie pliki markdown w wybranym folderze zostaną opublikowane jako witryna typu wiki. Spowoduje to również mapowania nagłówka gałęzi na witrynę typu wiki, aby wszelkie zmiany wprowadzone w repozytorium Git zostały natychmiast odzwierciedlone.

Aby uzyskać więcej informacji, zobacz wpis w blogu dokumentacji produktu.

Teraz możesz kliknąć ikonę linku obok dowolnego nagłówka sekcji na stronie typu wiki, aby wygenerować adres URL bezpośrednio do tej sekcji. Następnie możesz skopiować ten adres URL i udostępnić go członkom zespołu, aby połączyć je bezpośrednio z tę sekcją.

Adres URL nagłówka witryny typu wiki

Dołączanie plików i obrazów w folderach

Podczas edytowania stron typu wiki w trybie offline można łatwiej dodawać załączniki i obrazy plików w tym samym katalogu co strona typu wiki. Teraz możesz dodać załącznik lub obraz w dowolnym folderze w witrynie typu wiki i połączyć go ze stroną.

Obraz typu wiki w folderze repozytorium Git

Osadzanie wideo na stronie typu wiki

Teraz możesz osadzać filmy wideo na stronie typu wiki z Usługi online, takich jak Microsoft Stream i YouTube. Osadzony adres URL wideo można dodać przy użyciu następującej składni:

::: video
<iframe width="560" height="315" src="https://www.youtube.com/embed/7DbslbKsQSk" frameborder="0" allow="autoplay; encrypted-media" allowfullscreen></iframe>
:::

Osadzanie klipu wideo w witrynie typu wiki

Zmienianie nazwy strony typu wiki

Teraz możesz zmienić nazwę strony typu wiki w interfejsie użytkownika typu wiki i przy użyciu interfejsów API REST. W menu Więcej kliknij pozycję Zmień nazwę strony typu wiki, aby nadać swojej witrynie typu wiki pamiętną nazwę.

Zmienianie nazwy witryny typu wiki

Otwórz stronę na nowej karcie

Teraz możesz kliknąć prawym przyciskiem myszy stronę typu wiki i otworzyć ją na nowej karcie lub po prostu nacisnąć CTRL + lewym przyciskiem myszy na stronie typu wiki, aby otworzyć ją na nowej karcie.

Nowa karta typu wiki

Zachowywanie znaków specjalnych w tytułach stron typu wiki

Teraz możesz tworzyć strony typu wiki z znakami specjalnymi, takimi jak : < > * ? | -. Teraz strony z tytułami takimi jak "Często zadawane pytania?" Lub "Przewodnik konfigurowania" można utworzyć w witrynie Typu Wiki. Następujące znaki są tłumaczone na ciągi zakodowane w formacie UTF-8:

Znak Zakodowany ciąg
: %3A
< %3C
> %3E
* %2A
? %3F
| %7C
- %2D

Wszystkie linki w witrynie typu wiki, które nie są poprawnie połączone, będą wyświetlane w odrębnym kolorze czerwonym i przerwanym ikonie linku, co daje wizualną wskazówkę dotyczącą wszystkich uszkodzonych linków na stronie typu wiki.

Przerwane linki witryny typu wiki

Przerwane linki stron są jedną z głównych przyczyn niskiej jakości stron w każdym rozwiązaniu dokumentacji. Wcześniej w witrynie Typu wiki po przeniesieniu strony w strukturze drzewa lub zmianie nazwy strony może ona potencjalnie przerwać linki do strony z innych stron i elementów roboczych. Teraz możesz sprawdzić i naprawić linki przed ich uszkodzeniem.

Ważne

Pamiętaj, aby użyć []() składni języka znaczników markdown dla linków na stronach i typu linku strony typu wiki w elementach roboczych, aby umożliwić witrynie Typu Wiki znajdowanie i naprawianie tych potencjalnie uszkodzonych linków. Adresy URL i hiperlinki zwykłego tekstu w elementach roboczych nie będą pobierane przez tę funkcję.

Po zmianie nazwy lub przeniesieniu strony zostanie wyświetlony monit o sprawdzenie, czy nie ma to wpływu na łącza bezwzględne lub względne.

Okno dialogowe Przenoszenie strony

Przed podjęciem akcji zostanie wyświetlona lista linków strony i elementów roboczych, których dotyczy problem.

Przenoszenie łączy stron

Tworzenie spisu treści dla stron typu wiki

Czasami strony typu wiki mogą być długie, z zawartością zorganizowaną w kilka nagłówków. Teraz możesz dodać spis treści do dowolnej strony zawierającej co najmniej jeden nagłówek przy użyciu [[_TOC_]] składni.

Spis treści w witrynie typu wiki

Spis treści można również wstawić, klikając odpowiedni przycisk w okienku formatowania podczas edytowania strony.

Wstaw spis treści typu wiki

Aby uzyskać więcej informacji na temat używania języka Markdown w usłudze Azure DevOps, zobacz dokumentację ze wskazówkami dotyczącymi języka Markdown.

Metadane urządzenia Surface dla stron typu wiki i podglądu kodu przy użyciu tagów YAML

Dodanie metadanych do dokumentacji może ułatwić czytelnikom i indeksom wyszukiwania pobieranie i uwidoczanie istotnej zawartości. W tej aktualizacji każdy plik zawierający blok YAML na początku pliku zostanie przekształcony w tabelę metadanych z jedną głową i jednym wierszem. Blok YAML musi mieć postać prawidłowego zestawu YAML między liniami potrójną kreską. Obsługuje wszystkie podstawowe typy danych, listę, obiekt jako wartość. Składnia jest obsługiwana w wersji zapoznawczej plików typu wiki i kodu.

Przykład tagów YAML:

---
tag: post
title: Hello world
---

Tabela YAML

Przykład tagów YAML z listą:

---
tags:
- post
- code
- web
title: Hello world
---

Tabela YAML z listą

Publikowanie kodu jako wiki z uprawnieniami Współtworzenie

Wcześniej tylko użytkownicy z uprawnieniem Tworzenie repozytorium git mogli publikować kod jako wiki. Sprawiło to, że administratorzy repozytorium lub twórcy stanowili wąskie gardło dla wszystkich żądań publikowania plików markdown hostowanych w repozytoriach git jako witryn typu wiki. Teraz możesz opublikować kod jako witrynę typu wiki , jeśli masz tylko uprawnienie Współtworzenie w repozytorium kodu.

Raportowanie

Rozszerzenie platformy handlowej analizy na potrzeby raportowania jest teraz dostępne

Rozszerzenie Analytics Marketplace jest teraz dostępne dla usługi Azure DevOps Server. Analiza to przyszłość raportowania dla usług Azure DevOps i Azure DevOps Server. Zainstalowanie rozszerzenia Analiza zapewnia zaawansowane widżety, integrację usługi Power BI i dostęp OData.

Aby uzyskać więcej informacji, zobacz Co to jest analiza i plan raportowania. Analiza jest dostępna w publicznej wersji zapoznawczej. Obecnie zawiera dane dotyczące tablic i wyników testów automatycznych za pośrednictwem potoków. Zobacz Dane dostępne w usłudze Analytics.

Badanie historii kompilacji za pomocą nowego widżetu pulpitu nawigacyjnego kompilacji

Mamy nowy i ulepszony widżet historii kompilacji, który można dodać do pulpitów nawigacyjnych. Za pomocą tego widżetu można teraz wyświetlić historię kompilacji z określonej gałęzi na pulpicie nawigacyjnym i skonfigurować ją w projekcie publicznym dla anonimowych odwiedzających.

Ważne

Jeśli szukasz szczegółowych informacji na temat kompilacji XAML, kontynuuj korzystanie ze starszego widżetu i przeczytaj o migracji z kompilacji XAML do nowych kompilacji. W przeciwnym razie zalecamy przejście do nowszego widżetu.


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