Udostępnij za pośrednictwem


Informacje o wersji programu Azure DevOps Server 2019

Społeczność deweloperów | Wymagania systemowe | Warunki licencyjne | Blog DevOps | Skróty SHA-1

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

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

Azure DevOps Server 2020 obsługuje zachowywanie kompilacji inaczej zgodnie z zasadami dotyczącymi przechowywania dla poszczególnych potoków. Niektóre ustawienia zasad powodują usuwanie przebiegów potoków po ich 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ę znaków dozwolonych dla parametru Włącz sprawdzanie poprawności 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. Aby zainstalować i zalogować się za pomocą tfx-cli, wykonaj kroki opisane w dokumentacji przekazywania zadań do kolekcji projektów.

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 załadować zadania:
tfx build tasks upload --task-zip-path AzureFileCopyV1.1.230.0.zip
tfx build tasks upload --task-zip-path AzureFileCopyV2.2.230.0.zip 
tfx build tasks upload --task-zip-path AzureFileCopyV3.3.230.0.zip 
tfx build tasks upload --task-zip-path AzureFileCopyV4.4.230.0.zip 
tfx build tasks upload --task-zip-path AzureFileCopyV5.5.230.0.zip 
tfx build tasks upload --task-zip-path BashV3.3.226.2.zip 
tfx build tasks upload --task-zip-path BatchScriptV1.1.226.0.zip 
tfx build tasks upload --task-zip-path PowerShellV2.2.230.0.zip 
tfx build tasks upload --task-zip-path SSHV0.0.226.1.zip 
tfx build tasks upload --task-zip-path WindowsMachineFileCopyV1.1.230.0.zip 
tfx build tasks upload --task-zip-path WindowsMachineFileCopyV2.2.230.0.zip 

Wymagania dotyczące rurociągu

Aby 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ą w zakładce 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 procesy środowiska działają zgodnie z oczekiwaniami przed jej zastosowaniem w produkcji.

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 można używać poniższego polecenia w wierszu polecenia administracyjnego, a następnie należy ponownie uruchomić system. 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ć interfejs wiersza polecenia i zalogować się za pomocą tfx-cli.

Aktualizowanie zadań przy użyciu narzędzia TFX

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

Wymagania dotyczące rurociągu

Aby 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 problemy.

  • 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 Azure DevOps Server 2019.0.1, która naprawia następujące problemy.

  • 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ę patch dla usługi Azure DevOps Server 2019.0.1, która naprawia następujące błędy.

  • 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ącego się w lokalizacji C:\Program Files\{TFS Version Folder}\Search\zip, do zdalnego folderu plików 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 Azure DevOps Server 2019.0.1, która rozwiązuje następujące problemy.

  • Napraw błąd w interfejsie 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ę 10, należy zainstalować AzureResourceGroupDeploymentV2 task.

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ć tfx-cli.

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

  2. Uruchom następujące polecenie z wiersza poleceń. 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 do serwera. 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 Azure DevOps Server 2019.0.1, która naprawia następujące problemy. 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: Podatność na fałszowanie w Azure DevOps Server i 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. Wynik polecenia pokaże, że poprawka została zainstalowana albo że nie jest zainstalowana.

  • Opcja 2. Sprawdź wersję następującego pliku: [INSTALL_DIR]\Azure DevOps Server 2019\Application Tier\Web Services\bin\Microsoft.VisualStudio.Services.Feed.Server.dll. Azure DevOps Server 2019 jest domyślnie instalowany w lokalizacji 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 na prywatnej maszynie agenta.

  2. Utwórz potok z zadaniem AzurePowerShellV4. Zobaczysz tylko jeden Błąd standardowy w zadaniu.

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ć tfx-cli.

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

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

~$ tfx login
Copyright Microsoft Corporation

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

  1. Uruchom następujące polecenie, aby przekazać zadanie na serwer. Ścieżka wyodrębnionego pakietu 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 Azure DevOps Server 2019.0.1, która rozwiązuje następujące problemy. Zobacz wpis w blogu, aby uzyskać więcej informacji.

  • DTS 1713492 — nieoczekiwane zachowanie podczas dodawania grup Active Directory do uprawnień bezpieczeństwa.

Azure DevOps Server 2019.0.1 Patch 7 Data wydania: 14 lipca 2020 r.

Opublikowaliśmy poprawkę zabezpieczeń dla Azure DevOps Server 2019.0.1, która usuwa następujące problemy. 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 przełączania dziedziczenia 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 problemy. 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 rozwiązuje następujące problemy. 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: Podatność na skrypty między witrynami (XSS) w Repos
  • 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 kanałó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 pull

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 zawierają 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" metoda 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 Test Analytics ma gwiazdkę (*) wskazującą wersję zapoznawczą, mimo że ta funkcja nie jest obecnie 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 wydania była tworzeniem nowego wydania, ale teraz rozpoczyna wersję roboczą.

Azure Test Plans

  • Jednogodzinny filtr dla daty ukończenia w elementach TestRuns i TestResults jest zbyt szczegółowy.
  • W typie elementu roboczego Przypadek testowy typ "Test Case" nie powinien być zlokalizowany.
  • Przypadki testowe nie są wyświetlane w programie MTM ani w przeglądarce.
  • Błąd „Etap walidacji: nie masz uprawnień do wyzwalania wydań w skojarzonym potoku wydań” 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 scenariusza testowego nie jest aktualizowany dla użytkowników, którzy wylogowują się z Test Runner.
  • 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 górnych strumieniach.

Analityka

  • 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.
  • Podczas konserwacji można wstrzymać przetwarzanie danych analitycznych, co może powodować nieaktualne raporty.

Ogólne

  • Elementy nawigacji po lewej stronie są ściskane w przeglądarce Internet Explorer, gdy brakuje miejsca.

Administracja

  • Dodatkowe rejestrowanie dodane do aktualizacji 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 testowego 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 sekcji Opcje wykonywania, pokazujący listę rozwijaną wersji platformy testowej, z opcją 'Najnowsza wersja Visual Studio 2019' wybraną.


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 fałszowania w zabezpieczeniach w 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 eskalacji uprawnień w Boards

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 ciągu operacji wdrożeniowych 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 wdrożeniowych do 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 testowego i elementów roboczych w przyszłych wersjach

Azure DevOps Server 2019 nadal obsługuje interfejs API SOAP do śledzenia elementów pracy oraz model obiektowy 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ąć świadomą decyzję na temat 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órą z radością wprowadzamy, to moje zadania w formie wysuwanego menu. 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 panelu z dowolnego miejsca w produkcie. Możesz szybko zapoznać się z kluczowymi informacjami, takimi jak elementy robocze, pull requesty oraz wszystkie ulubione. Dzięki temu nowemu wysuwanemu panelowi, jeśli jesteś głęboko skupiony na kodzie w repozytoriach, ale chcesz szybko sprawdzić, nad którym elementem roboczym powinieneś pracować dalej, możesz po prostu kliknąć w panel i zobaczyć przypisane Ci elementy robocze, a następnie wybrać kolejny element.

Poniżej możesz zobaczyć wysuwane okno 'moje prace' z elementami roboczymi przypisanymi do mnie.

Moje narzędzie pracy

Tutaj możesz zobaczyć drugi przegląd, który pokazuje przypisane do mnie PR-y (żądania ściągnięcia). W oknie wysuwanym masz również dostęp jednym kliknięciem, aby wyświetlić więcej żądań ściągnięcia.

Panel boczny mojej pracy PR

W tym miejscu możesz zobaczyć ostatni pivot, czyli wszystko, co dodałeś do ulubionych. Obejmuje to ulubione zespoły, pulpity nawigacyjne, tablice, listy prac, zapytania i repozytoria:

Moje ulubione menu podręczne pracy

Tablice

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 GitHub i Azure Boards, możesz korzystać ze wszystkich funkcji, takich jak listy prac, tablice, narzędzia planowania sprintów, wiele typów elementów roboczych, a jednocześnie mieć przepływ pracy, który integruje się z przepływami pracy deweloperów w GitHubie.

Łączenie zatwierdzeń i pull requestów z elementami roboczymi jest łatwe. Wspomnij o elemencie roboczym przy użyciu następującej składni:

AB#{work item ID}

Wspomnij o elemencie roboczym w komunikacie zatwierdzenia, tytule żądania ściągnięcia lub w opisie żą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", "fixes" lub "fixed" poprzedzają wzmiankę o elemencie roboczym (jak pokazano powyżej), element roboczy zostanie przeniesiony do stanu ukończonego po scaleniu zatwierdzenia z domyślną gałęzią.

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 nowa lokalizacja, która będzie służyć jako główny punkt dla twoich elementów roboczych. W tym miejscu masz wiele różnych widoków listy Twoich elementów roboczych, dostosowanych do Twoich potrzeb. 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. Wszystkie opcje listy można zobaczyć poniżej:

Centrum elementów roboczych

Jeśli chcesz jeszcze bardziej zawęzić swoje listy, możesz filtrować według typu, przypisania, stanu, obszaru, tagów i słów kluczowych. 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 doświadczenia można zobaczyć poniżej:

Przegląd elementów roboczych

Nowe tablice, listy prac i centra sprintów

Sekcja Zaległości została podzielona na trzy odrębne moduły, aby poprawić doświadczenie użytkownika. Choć potężne, stare centrum Zaległości mieściło zbyt wiele 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 Backlogu na:

  • Centrum Lista prac jest teraz miejscem dla listy prac dla projektu. Rejestr zaległych zadań to priorytetowa lista prac dla zespołu. Zaległości zapewniają narzędzia do planowania, takie jak hierarchia elementów roboczych, prognozowanie i nowe doświadczenie planowania sprintu.
  • Nowy portal Boards zawiera wszystkie tablice Kanban dla projektu. Tablice służą do komunikowania stanu i przepływu. Karty (elementy robocze) przechodzą od lewej do prawej po tablicy przez kolumny zdefiniowane przez zespół.
  • Nowe centrum Sprints oferuje funkcje używane do planowania i wykonywania etapu pracy. Każdy sprint zawiera listę prac sprintu, tablicę zadań oraz widok umożliwiający zarządzanie zdolnością produkcyjną i jej ustawianie dla zespołu.

Koncentrator tablic

Centrum nowych zapytań

Nowe centrum zapytań upraszcza i usprawnia wiele istniejących funkcji zapytań ze starego centrum, nadając im bardziej nowoczesny wygląd i działanie, a także udostępnia nowe możliwości, aby ułatwić dostęp do zapytań, które są dla Ciebie istotne. 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 sprintu

Nowe funkcje planowania sprintu pomagają przyspieszyć i poprawić doświadczenie planowania sprintu.

  • Utwórz następny sprint lub zasubskrybuj istniejący harmonogram sprintu bezpośrednio z centrum Sprintów.
  • Użyj nowego panelu Planowania w swojej liście prac, aby przeciągać i upuszczać elementy robocze do przyszłych sprintów. Okienko Planowanie zawiera daty przebiegu, liczbę elementów roboczych i planowane nakłady pracy.
  • Dodaj wymagania do górnej części Tablicy Zadań lub użyj opcji "szybkie tworzenie", aby dodać je do górnej, dolnej lub wybranego wiersza w rejestrze przebiegu.
  • Użyj filtrów dla atrybutów Osoba przypisana, Typ zadania, Stan i Tagi, aby dostosować wyświetlenia do swoich potrzeb.

Planowanie przebiegu

Nowe strony katalogu

Wszystkie nowe huby, w tym backlogi, tablice i sprinty, mają teraz nowe strony katalogowe zorganizowane w następujących sekcjach:

  • Kontynuuj, gdzie przerwałeś Ta nowa sekcja zawiera szybki link bezpośrednio do ostatniego (Tablica | Zaległości | Sprint), na którym byłeś.
  • Ulubione Wszystkie Twoje ulubione tablice, przebiegi i listy prac we wszystkich zespołach.
  • Wszystkie moje tablice, listy zadań i sprinty 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 zaległości, tablice i sprinty, mają nowe menu opcji widoku. Jest to nowe miejsce dla wszystkich działań związanych z dostosowywaniem układu i zawartości 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 za ich intuicyjny widok listy kontrolnej oraz interaktywny charakter. 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.

Zadanie 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żek obszarów i iteracji teraz zawierają listę ostatnio używanych wartości w formie sugestii, zapewniając szybki dostęp do dokonywania ustawień i kontynuacji pracy.

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 śledź zadania, które nie zostały zamknięte z @CurrentIteration - 1, lub spójrz na pracę zaplanowaną na przyszłe iteracje 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 w przeszłości używałeś i nadal używasz makra @CurrentIteration w zapytaniach, być może zauważyłeś, że wyniki mogą się różnić, jeśli kontekst zespołu zmieni się w zespołach 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ń, gdy zmieniają się sprinty! 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ć jedną lub więcej ścieżek obszaru, co pomaga skupić Backlogi, Tablice, Plany, a nawet Pulpity nawigacyjne wyłącznie na pracę dla tego zespołu. Jeśli jednak chcesz napisać zapytanie dla zespołu, musisz wymienić określone Ścieżki 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ń

Zapytywanie o puste pola tekstu sformatowanego

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

Łatwo znaleźć istniejące elementy robocze w doświadczeniach związanych z linkowaniem i wspominaniem

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 wbudowanymi sugestiami na podstawie ostatnio przeglądanych przez Ciebie elementów roboczych oraz punktem dostępowym 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ść doświadczeń w usłudze Azure Repos wymaga najpierw wybrania repozytorium, a następnie gałęzi w tym repozytorium. Aby poprawić to doświadczenie dla organizacji z dużą liczbą oddziałów, wprowadzamy nowy wybierak oddziałów. Selektor pozwala teraz wybrać ulubione gałęzie lub szybko wyszukać gałąź.

Selektor gałęzi

Otrzymywać powiadomienia, kiedy zasady pull request są omijane.

W przypadku zespołów korzystających z żądań ściągnięcia (PR) i zasad gałęzi mogą wystąpić sytuacje, w których ludzie muszą zastosować obejście tych zasad — na przykład podczas wdrażania szybkiej poprawki w przypadku awarii produkcyjnej w środku nocy. Warto zaufać programistom, by postępowali właściwie i używali możliwości nadpisania oszczędnie. Jednocześnie zespoły muszą zweryfikować, czy te zmiany 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 wartość Zasady zostały pominięte, a zostaniesz powiadomiony za każdym razem, gdy PR zostanie ukończony i pominięte zostaną zasady.

Pomiń powiadomienie o zasadach

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

Istnieje wiele scenariuszy, w których może zaistnieć potrzeba ominięcia zasad gałęzi — przywrócenie zmiany, która przerwała kompilację, 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ść omijania zasad gałęzi podczas realizacji pull requestu. 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 doświadczenie, podzieliliśmy stare zezwolenia, aby zapewnić większą kontrolę zespołom, które udzielają zezwoleń na ominięcie. Istnieją dwa nowe uprawnienia do zastąpienia starego:

  1. Pomiń zasady podczas realizacji pull requestów. Użytkownicy z tym uprawnieniem będą mogli używać środowiska "Przesłonięcia" dla żądań ściągnięcia.
  2. Pomiń zasady podczas pushowania. 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 skorzystać z opcji obejścia, ale nadal będzie mieć ochronę przed przypadkowym wypchnięciem do gałęzi z regułami.

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.

Zobacz dokumentację Ustaw uprawnienia gałęzi, aby uzyskać więcej informacji.

Szybko opisuj pull requesty za pomocą wiadomości commitów

Pisanie opisowych komunikatów zatwierdzenia dodaje wartość do historii dowolnego repozytorium Git. Aby zachęcić do jakościowych komunikatów zatwierdzeń, nowe pull requesty, które zawierają wiele zatwierdzeń, będą wymagały ręcznego wprowadzenia tytułu przez współtwórców.

Opisy żądań ściągnięcia będą domyślnie puste, ale nowa funkcja ułatwi dołączenie wiadomości z zatwierdzeń PR do opisu żądania. Aby dodać komunikaty zatwierdzenia, po prostu kliknij Add commit messages, aby dołączyć komunikaty do końca tekstu opisu PR.

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

Podczas wprowadzania nowego doświadczenia związanego z żądaniami ściągnięcia (PR), uznaliśmy, że ma sens przypisanie wszystkich PR-ów do kontekstu zespołu wybranego podczas ich tworzenia. To zachowanie było powodem frustracji, ponieważ wiele osób nie zauważyło związku między kontekstem zespołu a przypisaniem PR.

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

  1. Podczas tworzenia pull requestu, reviewerzy nie są dodawani domyślnie. Lista recenzentów ma funkcję, która ułatwia dodawanie osób i grup, które niedawno dodano do pull requestów. Wymagana polityka recenzentów może również pomóc zespołom, które chcą mieć pewność, że określeni recenzenci zostaną dodani do przejrzenia ich kodu.
  2. Centrum Żądania ściągnięcia ma nową sekcję z możliwością dostosowywania. Domyślnie w tej sekcji wyświetlane są żądania ściągnięcia przypisane do moich zespołów, oferując te same funkcjonalności co w starej sekcji. Jeśli jednak należysz do wielu zespołów, w tej sekcji zostaną wyświetlone pull requests przypisane do któregokolwiek z twoich 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 pull requestów to doskonały sposób, aby pomóc recenzentom zorientować się, czego mogą się spodziewać 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 próśb o zmianę, aby ułatwić zespołom pisanie dobrych opisów, a teraz dodaliśmy tę funkcję.

Oprócz wspierania domyślnego szablonu opisu pull request, zespoły mogą dodawać wiele innych szablonów, które są prezentowane w menu na stronie tworzenia pull request. Wystarczy kliknąć przycisk Dodaj szablon, aby wybrać dowolny szablon w repozytorium i dodać go do opisu pull requestu.

Dodaj szablon dla PR

Szablony gałęzi są również obsługiwane, jeśli chcesz zastosować inny szablon dla pull requestu 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 "hotfix/", możesz dodać szablon, który będzie używany dla wszystkich PR-ów w tych gałęziach.

Zapoznaj się z dokumentacją szablonów próśb o ściągnięcie, 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 pull requesty 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 funkcjonalność umożliwiająca zmianę gałęzi docelowej aktywnego żądania ściągnięcia jest teraz łatwym zadaniem. Wystarczy kliknąć ikonę ołówka obok nazwy gałęzi docelowej w nagłówku pull request.

Zmień gałąź docelową

Poza poprawianiem błędów, funkcja zmiany gałęzi docelowych ułatwia również ponowne ukierunkowanie żądania ściągnięcia, gdy gałąź docelowa została scalona lub usunięta. Rozważmy scenariusz, w którym istnieje pull request przeznaczony dla gałęzi funkcji, która zawiera funkcję, od której zależą twoje zmiany. Chcesz przejrzeć zmiany zależne w odosobnieniu od innych zmian w gałęzi funkcji, więc początkowo koncentrujesz się na features/new-feature. Recenzenci mogą następnie zobaczyć tylko zmiany i pozostawić odpowiednie komentarze.

Teraz zastanów się, co by się stało, gdyby gałąź funkcji miała również aktywne żądanie ściągnięcia i została scalona w main przed Twoimi zmianami. Wcześniej trzeba było porzucić zmiany i utworzyć nowy pull request do main, albo scalić pull request z features/new-feature, a następnie utworzyć kolejny pull request z features/new-feature do main. Dzięki tej nowej czynności aktualizacji gałęzi docelowej, można po prostu zmienić gałąź docelową PR z features/new-feature na main, zachowując cały kontekst i komentarze. Zmiana gałęzi docelowej powoduje nawet utworzenie nowej aktualizacji pull requesta, co ułatwia powrót do wcześniejszych różnic przed dokonaniem zmiany 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.

Rurociągi

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 analityki testów dla wybranego pipeline.

Strona nowych kompilacji

Lepsze zarządzanie wiadomościami e-mail dotyczącymi zakończenia kompilacji i wdrażania, dzięki ulepszonemu formatowaniu.

Wiadomości e-mail dotyczące kompletacji kompilacji i wdrożeń zostały zaktualizowane, aby były bardziej filtrowalne według reguł wiadomości e-mail. Teraz temat zawiera bardziej istotne informacje widoczne na pierwszy rzut oka, treść obejmuje więcej szczegółów, a ich styl został odświeżony zgodnie z najnowszym wizerunkiem marki.

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, rozróżniają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 budowania Potok budowania Pełny zestaw kroków kompilacji dla aplikacji.
Budowa Budowa Wystąpienie potoku kompilacji, który działa lub został uruchomiony.
Faza Zadanie Seria zadań, które są uruchamiane sekwencyjnie lub równolegle na agencie. Potok kompilacji lub wdrażania może zawierać jedno zadanie lub graf wielu zadań.
Definicja wydania Proces wydania Pełny zestaw kroków wydania aplikacji wdrażanej na różnych etapach.
Wydanie Uwolnij Wystąpienie potoku wydawniczego, które jest aktywne lub było uruchomione.
Środowisko Etap Jednostka logiczna i niezależna reprezentująca miejsce, w którym chcesz wdrożyć wydanie wygenerowane z potoku wydawniczego.
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.

Zobacz dokumentację Pojęcia, aby uzyskać więcej informacji.

Zarządzaj potokami wydawniczymi przy użyciu nowej strony Wydania

Nowe i w pełni przeprojektowane doświadczenie użytkownika jest dostępne dla strony głównej wydania. Zobacz listę potoków wydania, które często publikujesz po lewej stronie. Możesz również przeszukiwać potoki i oznaczać je jako 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

Wizualizuj postęp 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 ciąg wydania, co ułatwia zrozumienie, co się dzieje, i ujawnia odpowiednie szczegóły oraz działania na różnych etapach wydania.

Widok potoku wydania

Potok, szczegóły wydania i środowiska

Widok Pipeline pokazuje artefakty wydania i środowiska, w których zostaną wdrożone. Obszar Wydanie zawiera szczegóły dotyczące wydania, 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 dla środowiska zostały ustawione warunki przed lub po wdrożeniu, jest to wskazane w środowisku przez obecność zatwierdzeń i bramek. Postęp zatwierdzeń i kamieni milowych można zobaczyć 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 wejść w widok szczegółowy.

Szczegóły logu wydania

Wpływ uaktualnienia do Azure DevOps Server 2019 na zadania: Kopiowanie plików na maszynach z systemem Windows oraz uruchamianie PowerShell 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 'Kopiowanie plików z maszyn Windows' w wersji 1.* oraz zadania 'PowerShell na maszynach docelowych' w wersji 1.*. Aby pipeliny 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 testów przed wydaniem

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. Zobacz dokumentację wkładów i rozszerzeń, aby uzyskać więcej informacji.

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, użytkownik z uprawnieniami do zasobu musi wyraźnie 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 uruchomić budowanie po pomyślnym zakończeniu innego budowania. 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. Więcej informacji można znaleźć w dokumentacji 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 zakończenia budowy jest przydatny, jeśli wymagania obejmują różne ustawienia konfiguracji, opcje lub inny zespół odpowiedzialny za zależny proces.

Zaktualizuj lokalnie swojego 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 używaliśmy oznaczeń wersji, było kilka problemów:

  • Adres URL nie był intuicyjny
  • Znaczek nie był specyficzny dla gałęzi
  • Nie było możliwości, aby użytkownik kliknął odznakę i przejść do najnowszej wersji tej definicji.

Teraz wprowadzamy nowy interfejs API dla znaczków kompilacji, który 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 statusu, wybierając akcję menu Wskaźnik statusu 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 numerowanie i etykietowanie kompilacji. 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żesz to zrobić na karcie zmiennych w definicji. Ta nowa funkcja zapewnia większą moc w następujący sposób:

  • Możesz zdefiniować niestandardowy licznik i ustawić jego wartość początkową. Na przykład możesz uruchomić licznik o godzinie 100. $(rev:r) zawsze zaczyna się od 0.
  • Możesz użyć własnej niestandardowej logiki, aby zresetować licznik. 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 dla jednej definicji.
  • 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 zadanie wdrażania grupy zasobów platformy Azure kończy się niepowodzeniem w przypadku błędów związanych z odpowiednimi zasadami przy wdrażaniu szablonów ARM.

Azure Policy

Ponadto dodaliśmy szablon definicji wydania 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 open source i działający na wielu platformach usługi Azure Pipelines 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 doświadczenia dla testów w procesach pipeline'owych

Karta testów ma teraz nowoczesne środowisko, które zapewnia bogate informacje o testach w kontekście dla Potoków. Nowe środowisko zapewnia widok testu w toku, pełnoekranowe środowisko debugowania, historię testów w kontekście, raportowanie przerwanego wykonywania testu oraz podsumowanie na poziomie przebiegu.

Przegląd wykonywanych testów

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, w miarę ich przetwarzania, co ułatwia szybsze podejmowanie działań. Możesz debugować awarię lub zrezygnować, zgłosić błąd lub przerwać działanie potoku. 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 trwających testów w nowym widoku postępu w wersji, raportując łączną liczbę testów i liczbę niepowodzeń testów w określonym momencie.

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ą z natury długie i wymagają wystarczającej ilości przestrzeni na ekranie, 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 Uruchomień, aby wyświetlić historię wyniku testu. Nowe środowisko pozwala na przypisanie historii testów bezpośrednio w kontekście na karcie Plany testów, w ramach procesu 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.

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ńczonymi przebiegami 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

Wsparcie śledzenia testów i środowisk wdrożeniowych 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 środowisku z angielskimi ustawieniami regionalnymi, ale kończy się niepowodzeniem w środowisku z tureckimi ustawieniami regionalnymi. 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 możliwe jest uruchomienie wielu instancji 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ę 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 ulepszanie dokumentacji testowej jest kluczowe dla utrzymania procesu w dobrej kondycji. Funkcja analizy testów zapewnia niemal rzeczywisty wgląd w dane testowe na potrzeby kompilacji i potoków wydania. Pomaga to poprawić skuteczność procesu, identyfikując powtarzające się problemy jakościowe o dużym wpływie.

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 niestabilność.

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. Jeśli w procesie było więcej niż jedno zadanie bez agenta, musiano dodać wiele faz, co sprawiało, że definicja stawała się obszerna. 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.

Wprowadzaj wdrożenia stopniowo i etapowo przy użyciu bram wydania

Za pomocą bram wydania można określić kryteria kondycji aplikacji, które muszą zostać spełnione przed przeniesieniem 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. Dostępne są cztery rodzaje bram domyślnie i można dodać więcej bram z Marketplace. Będzie można przeprowadzić inspekcję, że zostały spełnione wszystkie niezbędne kryteria wdrożenia. Zobacz dokumentację bramek wydania, aby uzyskać więcej informacji.

Panel wypuszczania bram

Wstrzymaj wdrożenia, dopóki bramy nie osiągną sukcesu w sposób spójny

Bramy wydania umożliwiają automatyczną ocenę kryteriów zdrowia przed promocją wydania do następnego środowiska. Domyślnie etap postępuje po pomyślnym otrzymaniu jednej próbki dla wszystkich bramek. Nawet jeśli brama jest niekonsekwentna, a odebrana próbka to szum, postęp w uwalnianiu jest kontynuowany. Aby uniknąć tego typu problemów, możesz teraz skonfigurować wersję, aby zweryfikować spójność stanu systemu przez minimalny okres trwania, zanim przejdzie się dalej. Podczas działania, wersja zapewniłaby pomyślne przeprowadzenie kolejnych ocen bram przed umożliwieniem awansu. Łą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 targety zostały dodane do grupy wdrożeniowej, wymagane było ręczne wdrożenie, aby upewnić się, że wszystkie targety 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 wersje są przetwarzane dodatkowo i powinny zostać wydane dopiero po zakończeniu tego przetwarzania. Teraz możesz wykorzystać tagi kompilacji, które zostaną przypisane podczas przetwarzania końcowego, w filtrach wyzwalacza wydania.

wyzwalacz kompilacji z tagiem

Ustaw zmienną w czasie publikacji

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 Ci uniknąć wielu kroków związanych z tworzeniem w trybie roboczym, aktualizacją zmiennych w wersji roboczej oraz wyzwalaniem 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, aby 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 tajnych danych w bezpieczny sposób do skryptów. Preferuje się to zamiast przekazywania tajemnic jako argumentów do skryptów, ponieważ system operacyjny na agencie może rejestrować wywołania 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 warunek wydania dla wdrożenia

Bramy wydania umożliwiają automatyczną ocenę kryteriów zdrowotnych przed przeniesieniem 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 przyspieszenie wydania lub po ręcznym sprawdzeniu stanu, osoba zatwierdzająca może chcieć zignorować bramę i zezwolić na postęp wydania, nawet jeśli ta brama nie została jeszcze oceniona jako w dobrej kondycji. Dokumentacja dotycząca bram kontrolnych wydania zawiera więcej informacji.

Ignoruj bramy

Wykonywanie dodatkowych testów przy użyciu wyzwalacza wydania pull requesta

Udało Ci się uruchomić kompilację na podstawie żądania ściągnięcia (PR) i uzyskać szybkie informacje zwrotne przed scaleniem już od pewnego czasu. Teraz możesz również skonfigurować wyzwalacz żądania ściągnięcia dla wydania. Stan wydania zostanie ponownie opublikowany w repozytorium kodu i będzie bezpośrednio widoczny na stronie PR. Jest to przydatne, jeśli chcesz wykonać dodatkowe testy funkcjonalne lub ręczne w ramach przepływu pracy pull requestu.

Wyzwalacz żądania pobrania w wydaniu

Tworzenie połączenia z usługą Azure z główną jednostką usługi, która uwierzytelnia się za pomocą certyfikatu.

Teraz można zdefiniować połączenie usługi platformy Azure z zasadą usługi oraz 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 4.* zadania wdrażania aplikacji Azure App Service Deploy 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 Azure App Service.
  • Może skrócić czas zimnego uruchamiania, szczególnie w przypadku funkcji JavaScript z dużymi drzewami zależności npm.

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

Wersja 4.* zadania wdrażania Azure App Service obsługuje teraz wdrażanie własnego kontenera niestandardowego w usłudze Azure Functions na 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

W związku z wydaniem przez firmę Apple Xcode 10, teraz można skonfigurować projekty tak, aby były kompilowane lub testowane specjalnie pod Xcode 10. Ciąg zadań 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 Helm w Release jest teraz dostępne do pakowania i wdrażania chartów Helm w Azure Container Service (AKS) lub innym klastrze Kubernetes.

Po dodaniu tego zadania Helm można skonfigurować potok CI/CD oparty na Helm do 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 Helma

Kontrola wersji Helm używanej w wydaniu

Zadanie Instalatora Helm pobiera określoną wersję Helm z Internetu lub pamięci podręcznej narzędzi i dodaje ją do ścieżki systemowej agenta (czy to hostowanego, czy prywatnego). To zadanie umożliwia zmianę wersji programu Helm używanej w kolejnych zadaniach, takich jak zadanie interfejsu wiersza polecenia .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 do bazy danych Azure dla MySQL

Teraz możesz stale wdrażać do usługi Azure Database for MySQL — bazy danych MySQL jako usługi platformy Azure. Zarządzaj plikami skryptów MySQL w kontroli wersji i wdrażaj je ciągle w ramach potoku wydania, wykorzystując natywne zadanie zamiast skryptów 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 bezpośredni, zmodyfikować opcje PSSession, kontrolować "ErrorActionPreference" i zakończyć działanie przy wystąpieniu 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 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ędzia Go, aby zainstalować jedną lub więcej wersji narzędzia Go w locie. To zadanie uzyskuje określoną wersję narzędzia Go wymaganą przez projekt i dodaje ją do PATH agenta kompilacji. Jeśli docelowa wersja narzędzia Go Tool jest już zainstalowana na agencie, zadanie pominie proces jego ponownego pobierania i instalacji.

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 Pythona upraszcza uruchamianie skryptów Pythona w ramach procesu. Zadanie spowoduje uruchomienie skryptu z pliku Python (.py) w twoim repozytorium lub umożliwi ręczne wprowadzenie skryptu w ustawieniach zadania, aby zapisać go jako część swojego potoku. Zadanie będzie używać wersji Pythona znalezionej w ścieżce, lub można określić ścieżkę bezwzględną do interpretera Pythona, którego chcesz użyć.

Wykorzystaj ulepszone wyniki kompilacji i testów z xcpretty w Xcode.

xcpretty zwiększa czytelność danych wyjściowych xcodebuild i generuje wyniki testu w formacie JUnit. Zadanie kompilacji Xcode teraz automatycznie używa środowiska xcpretty, kiedy jest ono dostępne na maszynie agenta, tak jak na hostowanych agentach 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.

Plany testów

Klient Modułu Uruchamiania Testów (Azure Test Plans) do przeprowadzania testów manualnych dla aplikacji desktopowych

Teraz możesz użyć klienta aplikacji Test Runner (Azure Test Plans) do uruchamiania testów ręcznych dla aplikacji desktopowych. 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 Test Runner, możesz uruchamiać testy ręczne i rejestrować wyniki testów dla każdego etapu 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.

Program Test Runner (Plany testów platformy Azure) wymaga jednorazowego pobrania i zainstalowania rzutnika. Wybierz pozycję Uruchom dla aplikacji desktopowej, jak pokazano poniżej.

Moduł uruchamiający testy platformy Azure

Instalowanie modułu uruchamiającego testy platformy Azure

Artefakty

Ź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 źródła nadrzędne do istniejących źródeł utworzonych w poprzednich wersjach serwera TFS. Poszukaj baneru nad pakietami twojego strumienia danych, aby uzyskać więcej informacji, w tym zmiany w zachowaniu, o których należy pamiętać przed aktualizacją.
  • Do swojego kanału możesz dodawać inne kanały Azure DevOps Server jako źródła nadrzędne, co oznacza, że możesz używać pakietów NuGet i npm z tych kanałów za pośrednictwem swojego kanału.

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 strumieniu (np. przy użyciu polecenia 'nuget publish'). 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ędnej zależności lub uprawnienia, są zapisywane natychmiast. Oznacza to, że nie musisz martwić się o utratę zmian podczas przełączania między zakładkami ustawień.

Uprość uwierzytelnianie za pomocą nowego dostawcy poświadczeń międzyplatformowego dla 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

Wiki

Publikuj pliki markdown z repozytorium Git jako 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

Z witryny Wiki zacznij od kliknięcia Opublikuj kod jako 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ż zmapowanie wierzchołka gałęzi na wiki, dzięki czemu wszelkie zmiany wprowadzone w repozytorium Git zostaną odzwierciedlone natychmiast.

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ć wideo na stronie typu wiki z usług 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 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?" Można również utworzyć "Przewodnik konfigurowania" w Wiki. Następujące znaki są tłumaczone na ciągi zakodowane w formacie UTF-8:

Postać 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.

Uszkodzone linki wiki

Przerwane linki stron są jedną z głównych przyczyn niskiej jakości stron w każdym rozwiązaniu dokumentacji. Wcześniej w Wiki, przeniesienie lub zmiana nazwy strony w strukturze drzewa mogło potencjalnie zakłócić linki do tej strony z innych stron i zadań roboczych. Teraz możesz sprawdzić i naprawić linki przed ich uszkodzeniem.

Ważne

Pamiętaj, aby użyć []() składni markdown dla linków na stronach oraz typu linku strony Wiki w elementach roboczych, aby umożliwić Wiki zlokalizowanie i naprawienie 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 przenoszenia strony

Przed podjęciem działania zostanie wyświetlona lista linków do stron oraz elementów roboczych , których to dotyczy.

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 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 bloku YAML umieszczonego między liniami z trzech kresek. Obsługuje wszystkie podstawowe typy danych, listę, obiekt jako wartość. Składnia jest obsługiwana w Wiki oraz podglądzie plików 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ą

Opublikuj kod jako wiki z uprawnieniami do współtworzenia

Wcześniej tylko użytkownicy, którzy mają uprawnienie Tworzenie repozytorium na 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 wiki, jeśli masz uprawnienia do współtworzenia 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. Analityka jest dostępna w publicznej wersji zapoznawczej. Obecnie zawiera dane dotyczące tablic projektowych i wyników testów automatycznych za pośrednictwem rur. Zobacz Dane dostępne w usłudze Analytics.

Analizuj historię budowy za pomocą nowego widżetu pulpitowego.

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