Udostępnij za pośrednictwem


informacje o wersji Azure DevOps Server 2019

| Developer Community Wymagania systemowe | Postanowienia | licencyjneDevOps Blog | SHA-1 skróty SHA-1

W tym artykule znajdziesz informacje dotyczące najnowszej wersji Azure DevOps Server.

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

Bezpośrednie uaktualnienie do Azure DevOps Server 2020 r. jest obsługiwane z wersji Azure DevOps Server 2019 lub Team Foundation Server 2015 lub nowszej. Jeśli wdrożenie serwera TFS jest w wersji TFS 2010 lub starszej, przed uaktualnieniem do Azure DevOps Server 2019 r. należy wykonać kilka kroków tymczasowych. Aby dowiedzieć się więcej, zobacz Instalowanie i konfigurowanie lokalnej usługi Azure DevOps.


Bezpieczne uaktualnianie z Azure DevOps Server 2019 do Azure DevOps Server 2020 r.

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

Azure DevOps Server 2020 r. obsługuje przechowywanie kompilacji inaczej na podstawie zasad przechowywania na poziomie potoku. Niektóre konfiguracje zasad prowadzą do usunięcia przebiegów potoku po uaktualnieniu. Przebiegi potoków, które zostały zachowane ręcznie 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 Azure DevOps Server 2019 r. do Azure DevOps Server 2020 r.

Azure DevOps Server 2019.0.1 Poprawka 16 Data wydania: 14 listopada 2023 r.

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

  • Rozszerzono listę dozwolonych znaków zadań programu PowerShell dla sprawdzania poprawności parametru Włącz argumenty 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 funkcji TFX

  1. Wykonaj kroki opisane w dokumentacji przekazywania zadań do kolekcji projektów , aby zainstalować i zalogować się przy użyciu narzędzia tfx-cli.

Aktualizowanie zadań przy użyciu narzędzia TFX

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

Wymagania dotyczące potoku

Aby korzystać z nowego zachowania, należy ustawić zmienną AZP_75787_ENABLE_NEW_LOGIC = true w potokach, które używają 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 Poprawka 15 Data wydania: 12 września 2023 r.

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

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

Ważne

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

Uwaga

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

Instalowanie poprawek

  1. Pobierz i zainstaluj 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. Wykonaj kroki opisane w dokumentacji własnych agentów systemu Windows , aby wdrożyć agenta.  

Uwaga

AZP_AGENT_DOWNGRADE_DISABLED musi być ustawiona na wartość "true", aby zapobiec obniżeniu poziomu agenta. W systemie Windows następujące polecenie można użyć w wierszu polecenia administracyjnego, po którym następuje ponowny rozruch. setx AZP_AGENT_DOWNGRADE_DISABLED true /M

Konfigurowanie funkcji TFX

  1. Wykonaj kroki opisane w dokumentacji przekazywania zadań do kolekcji projektów , aby zainstalować i zalogować się przy użyciu narzędzia tfx-cli.

Aktualizowanie zadań przy użyciu narzędzia TFX

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

Wymagania dotyczące potoku

Aby korzystać z nowego zachowania, należy ustawić zmienną AZP_75787_ENABLE_NEW_LOGIC = true w potokach, które używają 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 Poprawka 14 Data wydania: 8 sierpnia 2022 r.

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

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

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

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

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

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

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

  • Usunięto lukę w zabezpieczeniach usługi Elasticsearch, usuwając klasę jndilookup z plików binarnych log4j.

Kroki instalacji

  1. Uaktualnij serwer przy użyciu poprawki 12.
  2. Sprawdź wartość rejestru pod adresem HKLM:\Software\Elasticsearch\Version. Jeśli wartość rejestru nie istnieje, dodaj wartość ciągu i ustaw wartość Version na 5.4.1 (Name = Version, Value = 5.4.1).
  3. Uruchom polecenie PS C:\Program Files\{TFS Version Folder}\Search\zip> .\Configure-TFSSearch.ps1 -Operation update aktualizacji zgodnie z opisem 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 Azure DevOps Server i Elasticsearch są zainstalowane na różnych komputerach, wykonaj kroki opisane poniżej.

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

SKRÓT SHA-256: 96C7AF3E3ED67C76451BA228427B3C0738EEB4A5835B6A91EBD3205A54C384D7

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

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

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

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

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

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

Instalacja zadania AzureResourceGroupDeploymentV2

Uwaga

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

Instalowanie

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

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

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

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

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

~$ tfx login
Copyright Microsoft Corporation

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

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

Azure DevOps Server 2019.0.1 Patch 9 Data wydania: 8 grudnia 2020 r.

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

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

Ważne

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

Ogólna instalacja poprawek

Jeśli masz Azure DevOps Server 2019.0.1, zainstaluj Azure DevOps Server 2019.0.1 Patch 9.

Weryfikowanie instalacji

  • Opcja 1. Uruchom polecenie devops2019.0.1patch9.exe CheckInstall, devops2019.0.1patch9.exe to plik pobrany z powyższego linku. Dane wyjściowe polecenia powiedzą, że poprawka została zainstalowana lub która nie jest zainstalowana.

  • Opcja 2. Sprawdź wersję następującego pliku: [INSTALL_DIR]\Azure DevOps Server 2019\Application Tier\Web Services\bin\Microsoft.VisualStudio.Services.Feed.Server.dll. program Azure DevOps Server 2019 jest instalowany domyślniec:\Program Files\Azure DevOps Server 2019. Po zainstalowaniu poprawki Azure DevOps Server 2019.0.1 Patch 9 wersja to 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 Azure PowerShell az na prywatnej maszynie agenta.

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

Instalowanie

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

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

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

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

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

~$ tfx login
Copyright Microsoft Corporation

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

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

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

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

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

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

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

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

Azure DevOps Server 2019.0.1 Patch 6 Data wydania: 10 czerwca 2020 r.

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

  • CVE-2020-1327: Upewnij się, że Azure DevOps Server czyści 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 Azure DevOps Server 2019.0.1, która naprawia następujące poprawki. Zobacz wpis w blogu, aby uzyskać więcej informacji.

  • CVE-2020-0700: Luka w zabezpieczeniach dotycząca skryptów między witrynami
  • CVE-2020-0758: Luka w zabezpieczeniach dotycząca podniesienia uprawnień
  • CVE 2020-0815: Luka w zabezpieczeniach dotycząca podniesienia uprawnień

Azure DevOps Server 2019.0.1 Patch 3 Data wydania: 10 września 2019 r.

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

  • CVE-2019-1305 : luka w zabezpieczeniach usługi Repos pozwalająca na wykonywanie skryptów między witrynami (XSS)
  • CVE-2019-1306 : luka w zabezpieczeniach dotycząca zdalnego wykonywania kodu w witrynach typu Wiki

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

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

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

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

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

  • CVE-2019-1072 : luka w zabezpieczeniach dotycząca zdalnego wykonywania kodu w funkcji śledzenia elementów roboczych
  • CVE-2019-1076 : luka w zabezpieczeniach żądań ściągnięcia pozwalająca na wykonywanie skryptów między witrynami (XSS)

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

Azure DevOps Server 2019.0.1 to pakiet poprawek błędów. Zawiera wszystkie poprawki we wcześniej wydanych poprawkach Azure DevOps Server 2019. Możesz bezpośrednio zainstalować program Azure DevOps Server 2019.0.1 lub uaktualnić z wersji Azure DevOps Server 2019 lub Team Foundation Server 2012 lub nowszej.

Uwaga

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

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

Azure Boards

  • "Kryteria pola dla tego planu mają błąd". Podczas konfigurowania planu. Raportowany za pośrednictwem Developer Community.
  • funkcja apiwitcontroller.executequery zgłasza wyjątek, gdy zapytanie ma tę samą kolumnę wiele razy.
  • W modelu obiektów klienta korzystającym z zakresu vso.work_full oauth element WorkItemServer.DownloadFile() kończy się niepowodzeniem.
  • Skopiowanie obrazu osadzonego z pola elementu roboczego do innego pola elementu roboczego w innym projekcie może spowodować utworzenie uszkodzonego obrazu.

Azure Repos

  • "TF401019: GitRepositoryNotFoundException".

Azure Pipelines

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

Azure Test Plans

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

Azure Artifacts

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

Analiza

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

Ogólne

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

Administracja

  • Dodatkowe rejestrowanie dodane do uaktualnienia kolekcji w celu ułatwienia debugowania problemów.
  • Gdy polecenie TfsConfig offlineDetach kończy się niepowodzeniem, komunikat o błędzie nie może działać.
  • 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ług mogą nie przetwarzać poprawnie powiadomień.
  • Indeksowanie wyszukiwania kodu nie rozpoczyna się po skonfigurowaniu wyszukiwania.
  • W wynikach stron wyszukiwania istnieją niezlokalizowane ciągi.

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

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

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

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


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

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

  • CVE-2019-0872 : luka w zabezpieczeniach usługi Test Plans pozwalająca na wykonywanie skryptów między witrynami (XSS)
  • CVE-2019-0971 : luka w zabezpieczeniach w interfejsie API usługi Repos umożliwiająca ujawnienie informacji
  • CVE-2019-0979 : luka w zabezpieczeniach centrum użytkowników pozwalająca na wykonywanie skryptów między witrynami (XSS)

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

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

  • CVE-2019-0857: Luka w zabezpieczeniach umożliwiająca fałszowanie w witrynie typu wiki
  • CVE-2019-0866 : luka w zabezpieczeniach dotycząca zdalnego wykonywania kodu w usłudze Pipelines
  • CVE-2019-0867 : luka w zabezpieczeniach usługi Pipelines pozwalająca na wykonywanie skryptów między witrynami (XSS)
  • CVE-2019-0868 : luka w zabezpieczeniach usługi Pipelines pozwalająca na wykonywanie skryptów między witrynami (XSS)
  • CVE-2019-0869: Luka w zabezpieczeniach umożliwiająca wstrzyknięcie kodu HTML w usłudze Pipelines
  • CVE-2019-0870 : luka w zabezpieczeniach usługi Pipelines pozwalająca na wykonywanie skryptów między witrynami (XSS)
  • CVE-2019-0871 : luka w zabezpieczeniach usługi Pipelines pozwalająca na wykonywanie skryptów między witrynami (XSS)
  • CVE-2019-0874: Luka w zabezpieczeniach usługi Pipelines dotycząca skryptów między witrynami (XSS)
  • CVE-2019-0875: Luka w zabezpieczeniach dotycząca podniesienia uprawnień w tablicach

data wydania Azure DevOps Server 2019 r.: 5 marca 2019 r.

Uwaga

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


RC2 Data wydania: 22 stycznia 2019 r.

Podsumowanie nowości w programie Azure DevOps Server 2019 RC2

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


RC1 Data wydania: 19 listopada 2018 r.

Podsumowanie nowości w programie Azure DevOps Server 2019 RC1

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 Azure DevOps Server

10 września ogłosiliśmy usługę Azure DevOps jako ewolucję Visual Studio Team Services i serwera 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 Azure DevOps Server 2019 roku. Aby uzyskać więcej informacji, zobacz nasz blog .

Nowa nawigacja

Zmiany w artefaktach i licencjonowaniu potoku wdrażania Release Management

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

Obsługa bazy danych Azure SQL

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 w celu zaspokojenia Twoich potrzeb przy jednoczesnym zmniejszeniu kosztów administracyjnych związanych 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. Aby uzyskać więcej informacji, zobacz dokumentację .

Interfejsy API protokołu SOAP modelu obiektów klienta & testowego elementu roboczego w przyszłych wersjach

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

Przetwarzanie dziedziczenia w nowych kolekcjach

Dziedziczenie procesów jest teraz dostępne w nowych kolekcjach. Użytkownicy będą musieli podjąć decyzję sumienia w sprawie 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żna teraz wywołać pole wyszukiwania, klikając pozycję "/" na dowolnej stronie usługi w usłudze Azure DevOps.

Oto domyślne pole wyszukiwania:

Domyślne pole wyszukiwania

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

Rozwinięte pole wyszukiwania

Moje okno wysuwane pracy

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

Poniżej widać wysuwane okno wysuwane pracy z elementami roboczymi przypisanymi do mnie:

Moje okno wysuwane pracy

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

Żądanie ściągnięcia pracy

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

Moje ulubione listy wysuwane pracy

Boards

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

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

AB#{work item ID}

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

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

Centrum Nowych elementów roboczych

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

Centrum elementów roboczych

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

Lista centrum elementów roboczych

Nowe tablice, listy prac i koncentratory Przebiegu

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

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

Piasta tablic

Nowe centrum zapytań

Nowe centrum zapytań usprawnia wiele istniejących funkcji zapytań ze starego centrum z bardziej nowoczesnym wyglądem i działaniem, a także zapewnia nowe możliwości, aby ułatwić dostęp do zapytań, które są dla Ciebie ważne. Oto niektóre najważniejsze elementy nowego środowiska:

  • Strony katalogów z ostatnią modyfikacją według 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. Po wyłączeniu magazynu danych możesz użyć usługi Analytics Service do obsługi potrzeb raportowania. Aby dowiedzieć się więcej na temat wyłączania magazynu danych, zobacz Wyłączanie magazynu danych i modułu.

Funkcje planowania przebiegu

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

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

Planowanie przebiegu

Nowe strony katalogu

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

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

Strony katalogu

Menu Nowe opcje widoku

Nowe koncentratory, w tym listy prac, tablice i przebiegi, mają nowe menu Opcje widoku . Jest to nowy dom dla wszystkich akcji w celu dostosowania układu i zawartości strony. Użyj opcji Widok, 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 wyświetlania

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ą kochane za intuicyjny widok listy kontrolnej i interakcje. 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 liczniki tego typu elementu roboczego są uwzględniane na karcie jako oddzielną listę kontrolną.

Element roboczy adnotacji

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

Szybkie tworzenie adnotacji

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

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

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 całkowite. Łatwo zachowaj karty na temat pracy, która nie została zamknięta @CurrentIteration z - 1, lub przyjrzyj się pracom zaplanowanym na przyszłe iteracji z @CurrentIteration + 1. Aby uzyskać więcej informacji, zobacz wpis @CurrentIteration w blogu usługi Microsoft DevOps.

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

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

Parametr zespołu

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

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

makro obszarów zespołu w edytorze zapytań

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

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

Łatwe znajdowanie istniejących elementów roboczych w połączeniu i wzmianek

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

Łączenie elementów roboczych

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

Repos

Ulepszony selektor gałęzi

Większość środowisk w Azure Repos wymaga wybrania repozytorium, a następnie gałęzi w tym repozytorium. Aby ulepszyć to środowisko dla organizacji z dużą liczbą gałęzi, wprowadzamy nowy selektor gałęzi. Selektor umożliwia teraz wybranie ulubionych gałęzi lub szybkie wyszukiwanie gałęzi.

Selektor gałęzi

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

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

Powiadomienie o obejście zasad

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

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

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

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

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

Uwaga

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

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

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

Pisanie opisowych komunikatów zatwierdzania dodaje wartość do historii dowolnego repozytorium Git. Aby zachęcić do komunikatów o zatwierdzeniach jakości, nowe żądania ściągnięcia, które mają wiele zatwierdzeń, będą wymagać od współautorów ręcznego wprowadzenia tytułu.

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

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

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

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

  1. Podczas tworzenia żądania ściągnięcia domyślnie nie są dodawani recenzenci. Lista recenzentów ma funkcję ułatwiania dodawania osób i grup, które zostały ostatnio dodane do żądania ściągnięcia. Wymagane zasady recenzentów mogą również pomóc zespołom, które chcą zapewnić dodanie określonych recenzentów do przejrzenia kodu.
  2. Centrum Żądania ściągnięcia ma nową sekcję dostosowywalną. Domyślnie w tej sekcji przedstawiono żądania ściągnięcia "Przypisane do moich zespołów", zapewniając równoważne funkcje jako starą sekcję. Jeśli jednak należysz do wielu zespołów, w tej sekcji zostaną wyświetlone żądania ściągnięcia przypisane do dowolnego z 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 żądań ściągnięcia to doskonały sposób, aby pomóc recenzentom wiedzieć, czego można oczekiwać podczas przeglądania kodu. Są one również doskonałym sposobem na śledzenie elementów, które należy wykonać dla każdej zmiany, takiej jak testowanie, dodawanie testów jednostkowych i aktualizowanie dokumentacji. Wielu z Was żądało dodania szablonów żądań ściągnięcia, aby ułatwić zespołom pisanie świetnych opisów i dodaliśmy tę funkcję.

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

Dodawanie szablonu żądania ściągnięcia

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

Zobacz dokumentację szablonów żądań ściągnięcia , aby dowiedzieć się więcej na temat tworzenia szablonów i używania ich.

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

W przypadku większości zespołów prawie wszystkie żądania ściągnięcia są przeznaczone dla tej samej gałęzi, na przykład main lub develop. Jednak w przypadku, gdy musisz kierować inną gałąź, łatwo zapomnieć o zmianie gałęzi docelowej z domyślnej. Nowa funkcja umożliwiająca zmianę gałęzi docelowej aktywnego żądania ściągnięcia jest teraz prostą akcją. Wystarczy kliknąć ikonę ołówka w pobliżu nazwy gałęzi docelowej w nagłówku żądania ściągnięcia.

Zmień gałąź docelową

Poza poprawianiem błędów funkcja zmiany gałęzi docelowych ułatwia również "retarget" żądanie ściągnięcia, gdy gałąź docelowa została scalona lub usunięta. Rozważmy scenariusz, w którym żądanie ściągnięcia dotyczy gałęzi funkcji zawierającej pewną funkcję, od której zależą zmiany. Chcesz przejrzeć zmiany zależne w izolacji od innych zmian w gałęzi funkcji, więc początkowo chcesz kierować features/new-featureelement . Recenzenci mogą zobaczyć tylko zmiany i pozostawić odpowiednie komentarze.

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

Aktualizacja gałęzi docelowej

Autorzy rozszerzeń mogą wykonywać zapytania dotyczące kontekstu 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 usługę VersionControlRepositoryService jako usługę dostępną do rozszerzenia. Dzięki temu autor rozszerzenia może wysyłać zapytania o informacje o bieżącym kontekście repozytorium Git w interfejsie użytkownika sieci Web. 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 Azure Repos, zostanie zwrócona wartość null.

Oto przykładowe rozszerzenie , które korzysta z tej usługi.

Pipelines

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

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

Strona Nowe kompilacje

Lepsze zarządzanie wiadomościami e-mail ukończenia kompilacji i wdrażania przy użyciu ulepszonego formatowania

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

Elementy nowego formatu to:

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

Oto kilka przykładów:

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

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

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

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

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

Aby uzyskać więcej informacji, zobacz dokumentację Pojęcia .

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

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

Strona docelowa wydania

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

Foldery wydania

Wizualizowanie postępu wydania

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

Widok potoku wydania

Potok, szczegóły wydania i środowiska

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

Środowiska są modelowane w celu ułatwienia zrozumienia ich stanu wraz ze szczegółowym postępem. W dowolnym momencie możesz przejść do dzienników, klikając link stanu w środowisku.

Środowiska

Przed wdrożeniem i po wdrożeniu

Jeśli warunki przed wdrożeniem lub po wdrożeniu zostały ustawione dla środowiska, jest on wskazany w środowisku z obecnością zatwierdzeń i bram. Postęp zatwierdzeń i bram jest również wyświetlany w stanie środowiska. Możesz podjąć akcję lub wyświetlić dalsze szczegóły, klikając ikonę warunku środowiska wiszącą po prawej lub lewej stronie ś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źć zatwierdzenie lub interesujący Cię element roboczy.

Zatwierdzenia wydania i elementy robocze

Postęp wdrażania i dzienniki

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

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

Szczegóły dziennika wydania

Wpływ uaktualniania do programu Azure DevOps Server 2019 w zadaniach: Kopiowanie plików komputera z systemem Windows i program PoweShell na maszynie docelowej

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

  • Musisz przełączyć się na zadanie "Kopia pliku maszyny z systemem Windows" w wersji 2.* i podać pełną nazwę fqdn dla maszyny docelowej, a nie tylko nazwę komputera.
  • 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 powoduje otwarcie widoku zawierającego szczegóły testu, w tym wyniki z innych rozszerzeń, które przyczyniają się do procesu.

Wyniki testu wydania

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

Konfigurowanie kompilacji przy użyciu języka YAML

Potoki kompilacji oparte na języku YAML są dostępne w Azure DevOps Server. Zautomatyzuj potok ciągłej integracji przy użyciu pliku YAML zaewidencjonowanego w repozytorium. Kompletną dokumentację schematu YAML można znaleźć tutaj.

Aby bezproblemowo obsługiwać potoki kompilacji oparte na języku YAML, zmieniliśmy domyślne zachowanie dla wszystkich tworzonych nowych zasobów (np. połączeń z usługami, grup zmiennych, pul agentów i bezpiecznych plików) tak, aby można było używać ich 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). W takim przypadku osoba z uprawnieniami do korzystania z zasobu musi jawnie zapisać potok w edytorze internetowym po dodaniu odwołania do zasobu do pliku YAML.

YAML

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

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

Konfigurowanie tworzenia łańcucha kompilacji

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

Lokalne aktualizowanie agenta

Zadania instalowane z galerii czasami wymagają nowszej wersji agenta potoków. Jeśli Azure DevOps Server 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żna skonfigurować Azure DevOps Server, 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 Azure DevOps Server w Internecie.

Adres URL wskaźnika stanu nowej kompilacji

Znaczki kompilacji osadzone na stronie głównej repozytorium są typowym sposobem pokazywania kondycji repozytorium. Mimo że do tej pory mieliśmy odznaki kompilacji, było kilka problemów:

  • Adres URL nie był intuicyjny
  • Wskaźnik nie był specyficzny dla gałęzi
  • Użytkownik nie mógł kliknąć wskaźnika, aby pobrać użytkownika do najnowszej kompilacji tej definicji

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

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

Dodawanie niestandardowych liczników kompilacji do kompilacji

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

  • Możesz zdefiniować niestandardowy licznik i ustawić jego wartość inicjatora. Na przykład możesz uruchomić licznik o godzinie 100. $(rev:r) zawsze zaczyna się od 0.
  • Możesz użyć własnej logiki niestandardowej, aby zresetować licznik. Wartość $(rev:r) jest powiązana z generowaniem numeru kompilacji i jest automatycznie resetowana za każdym razem, gdy numer kompilacji zawiera nowy prefiks.
  • Można zdefiniować wiele liczników na definicję.
  • Możesz wykonać zapytanie o wartość licznika poza kompilacją. Na przykład można zliczyć 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 .

Azure Policy sprawdzanie zgodności i weryfikacji zabezpieczeń w usłudze Pipelines

Chcemy zapewnić stabilność i bezpieczeństwo oprogramowania na wczesnym etapie procesu tworzenia oprogramowania przy jednoczesnym połączeniu programowania, zabezpieczeń i operacji. W tym celu dodaliśmy obsługę 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 Azure Policy zasoby pozostają zgodne ze standardami firmy i umowami dotyczącymi poziomu usług.

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

Azure Policy

Ponadto dodaliśmy szablon definicji wersji 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 Azure Policy

Kompilowanie na platformach Linux/ARM i Windows 32-bitowych

Usługa Azure Pipelines open source, międzyplatformowy agent 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ą tworzenie na mniej popularnych, ale nie mniej ważnych platformach, takich jak Raspberry Pi, maszyna z systemem Linux/ARM.

Ulepszone środowiska testów w potokach

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

Nowe centrum testów

Wyświetlanie wykonywania testów w toku

Testy, takie jak testy integracyjne i funkcjonalne, mogą być uruchamiane przez długi czas, dlatego ważne jest, aby w danym momencie zobaczyć wykonywanie testów. W widoku In-Progress testowym nie trzeba już czekać na ukończenie wykonywania testu, aby poznać wynik testu. Wyniki są dostępne w czasie niemal rzeczywistym, ponieważ są uruchamiane, co ułatwia szybsze wykonywanie działań. Możesz debugować błąd lub przerwać, zgłosić usterkę lub przerwać potok. Ta 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 rozszerzenie tego środowiska na potrzeby wykonywania testów przy użyciu pojedynczego agenta.

Poniższy widok przedstawia podsumowanie In-Progress Test w widoku postępu nowej wersji, raportowanie łącznej liczby testów i liczby niepowodzeń testów w danym momencie.

Widok testu w toku

Klikając powyższe podsumowanie testu In-Progress, możesz wyświetlić szczegółowe podsumowanie testu wraz z informacją o niepomyślnym lub przerwanym teście w Test Plans. Podsumowanie testu jest odświeżane w okresowych odstępach czasu z możliwością odświeżenia widoku szczegółów na żądanie w oparciu o dostępność 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 mają charakter długi i wymagają wystarczającej ilości nieruchomości, aby wyświetlić szczegóły podczas debugowania. Aby mieć środowisko debugowania immersyjnego, 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 Uruchomi , aby wyświetlić historię wyniku testu. Dzięki nowej funkcji wprowadzimy historię testów w kontekście na karcie Test Plans na potrzeby kompilacji i wydania. Informacje o historii testów są dostarczane w sposób progresywny, począwszy od bieżącej definicji kompilacji lub środowiska wybranego testu, a następnie innych gałęzi i środowisk dla kompilacji i wydania odpowiednio.

Historia testów w kontekście

Wyświetlanie przerwanych testów

Wykonywanie testu może zostać przerwane z wielu powodów, takich jak nieprawidłowy kod testowy, test źródłowy i problemy środowiskowe. Niezależnie od przyczyny przerwania, ważne jest, aby zdiagnozować zachowanie i zidentyfikować główną przyczynę. Teraz można wyświetlić przerwane testy i przebiegi testów, a także ukończone przebiegi w Test Plans. Ta 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 rozszerzenie tego środowiska na potrzeby wykonywania testów przy użyciu pojedynczego agenta.

Wyświetlanie przerwanych testów

Obsługa środowisk śledzenia i wydawania testów w historii testów

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

Przejrzyj podsumowane wyniki testu

Podczas wykonywania testu test może zduplikować wiele wystąpień testów, które przyczyniają się do ogólnego wyniku. Oto kilka przykładów: testy, które są uruchamiane ponownie z powodu niepowodzeń, 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 dostarczonego 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. W ramach tej aktualizacji wprowadzamy 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 zarządzania testami obsługuje teraz możliwość publikowania i wykonywania zapytań dotyczących hierarchicznych wyników testów. Aby uzyskać więcej informacji, zobacz dokumentację interfejsu API wyników testów .

Debugowanie podsumowania testu

Uwaga

Metryki w sekcji podsumowania testu (np. Łączna liczba testów, Testy przekazane itp.) są obliczane przy użyciu poziomu głównego hierarchii, a nie poszczególnych iteracji testów.

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

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

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

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

Testowanie analizy

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

Upraszczanie definicji za pomocą wielu zadań bez agenta

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

Stopniowo uwidaczniaj wdrożenia i fazy przy użyciu bram wydania

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

Panel bram wydań

Utrzymywanie wdrożeń, dopóki bramy nie powiedzą się spójnie

Bramy wydania umożliwiają automatyczną ocenę kryteriów kondycji przed podwyższeniem poziomu wydania do następnego środowiska. Domyślnie wydanie postępuje po odebraniu jednej pomyślnej próbki dla wszystkich bram. Nawet jeśli brama jest niekonsekwentna, a otrzymana próbka zakończyła się powodzeniem, następuje postęp wydania. Aby uniknąć tego typu problemów, możesz teraz skonfigurować wydanie, aby zweryfikować spójność kondycji przez minimalny czas trwania przed postępem. W czasie wykonywania wydanie zapewniłoby pomyślne przeprowadzenie kolejnych ocen bram przed zezwoleniem na podwyższenie poziomu. Łączny czas oceny zależy od "czasu między ponownym ocenianiem" i zwykle przekracza skonfigurowany minimalny czas trwania. Aby uzyskać więcej informacji, zobacz dokumentację Kontrola wdrażania wydania przy użyciu bram .

Ustawienie blokady bram

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

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

Grupy wdrożeń

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

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

wyzwalacz tagu kompilacji

Ustawianie zmiennej w czasie wydania

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

Zmienna wydania

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

Zmienna wydania w wersji

Przekazywanie zmiennych środowiskowych do zadań

Autorzy zadań ciągłej integracji/ciągłego wdrażania mogą ustawić nową właściwość , showEnvironmentVariables w pliku task.json, aby przekazać zmienne środowiskowe do zadań. W tym celu dodatkowa kontrolka jest renderowana w 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 zachowaniem wielkości liter w nazwie zmiennej. Na przykład w powyższym przykładzie zmienna środowiskowa przekazywana do zadania będzie miała wartość "foo", a nie "FOO".
  • Umożliwia przekazywanie wartości wpisów tajnych w bezpieczny sposób do skryptów. Jest to preferowane przekazywanie wpisów tajnych jako argumentów do skryptów, ponieważ system operacyjny na agencie może rejestrować wywoł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 bramę wydania dla wdrożenia

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

Ignoruj bramy

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

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

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

Tworzenie połączenia usługi platformy Azure z jednostką usługi uwierzytelnianą za pomocą certyfikatu

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

Nawiązywanie połączenia za pomocą jednostki usługi

Uruchamianie z pakietu obsługiwanego we wdrożeniach Azure App Service

Wersja zadania Azure App Service Deploy (4.*) obsługuje teraz funkcję RunFromPackage (wcześniej o nazwie RunFromZip).

App Service obsługuje wiele różnych technik wdrażania plików, takich jak msdeploy (aka WebDeploy), git, ARM i nie tylko. Jednak wszystkie te techniki mają ograniczenie. Pliki są wdrażane w folderze wwwroot (w szczególności d:\home\site\wwwroot), a środowisko uruchomieniowe uruchamia pliki stamtąd.

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 jest instalowany w katalogu 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 (przy ponownym uruchomieniu).
  • Możesz mieć pewność, że pliki są uruchomione w aplikacji.
  • Poprawia wydajność wdrożeń Azure App Service.
  • Może skrócić czasy zimnego uruchamiania, szczególnie w przypadku funkcji Języka JavaScript z dużymi drzewami pakietów npm.

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

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

Model hostingu systemu Linux dla Azure Functions opiera się 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: Wprowadzasz 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 App Service Deploy.
  2. Niestandardowy obraz kontenera: Ulepszyliśmy zadanie App Service Deploy w celu obsługi wdrażania niestandardowych obrazów kontenerów w 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

Zbiegając się z wydaniem programu Xcode 10 firmy Apple, można teraz ustawić projekty pod kątem kompilowania lub testowania przy użyciu środowiska Xcode 10. Potok może również uruchamiać zadania równolegle z macierzą wersji programu Xcode. Do uruchamiania tych kompilacji można użyć puli agentów systemu macOS hostowanej przez firmę Microsoft. Zapoznaj się ze wskazówkami dotyczącymi używania środowiska Xcode w usłudze Azure Pipelines.

Xcode 10

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

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

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

zadania helm

Kontrolowanie wersji programu Helm używanej w wersji

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

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

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

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

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

Program PowerShell w zadaniu docelowym (wersja: 3.*): Możesz dodać skrypt wbudowany, zmodyfikować opcje PSSession, kontrolować "ErrorActionPreference" i uruchomić błąd standardowy.

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

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

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

filtry gałęzi

Tworzenie aplikacji napisanych w języku Go

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

Zadanie Go pomaga pobrać zależności, skompilować lub przetestować aplikację. Możesz również użyć tego zadania do uruchomienia niestandardowego polecenia języka Go wybranego przez użytkownika.

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

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

Wykorzystanie ulepszonych danych wyjściowych kompilacji i testowania środowiska Xcode z platformy xcpretty

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

Test Plans

Klient modułu uruchamiającego testy testowe (Azure Test Plans) uruchamia testy ręczne dla aplikacji klasycznych

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

Moduł uruchamiający testy (Azure Test Plans) wymaga jednorazowego pobrania i zainstalowania modułu uruchamiającego testy. Wybierz pozycję Uruchom dla aplikacji klasycznej , jak pokazano poniżej.

Moduł uruchamiający testy platformy Azure

Instalowanie modułu uruchamiającego testy platformy Azure

Artifacts

Źródła nadrzędne

Azure DevOps Server 2019 r. udostępnia istotne aktualizacje nadrzędnych źródeł dostępnych w kanałach informacyjnych usługi Azure Artifacts:

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

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

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 korzystasz z pakietu podczas przeglądania go za pośrednictwem widoku, będziesz otrzymywać aktualizacje tylko dla nowych wersji, które są promowane do tego widoku.

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

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

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

Interakcja z uwierzytelnionymi kanałami informacyjnymi NuGet jest po prostu o wiele lepsza. 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 usługi GitHub i postępuj zgodnie z instrukcjami dotyczącymi klienta i platformy.

Kompresowanie symboli podczas publikowania w udziale plików

Zaktualizowaliśmy zadanie Indeksowanie & Publikuj symbole , aby obsługiwać kompresowanie symboli podczas ich publikowania w udziale plików.

Kompresuj symbole

Witryna Wiki

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

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

kod publiczny jako akcja typu wiki

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

okno dialogowe publikowania stron

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

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

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

Adres URL nagłówka witryny typu wiki

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

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

Obraz typu wiki w folderze repozytorium Git

Osadzanie wideo na stronie typu wiki

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

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

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

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

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

Łącza przerwane w witrynie typu wiki

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

Ważne

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

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

Okno dialogowe Przenoszenie strony

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

Przenoszenie łączy stron

Tworzenie spisu treści dla stron typu wiki

Czasami strony typu wiki mogą trwać długo, a zawartość jest zorganizowana 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 typu wiki

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

Wstaw witrynę typu wiki DOC

Aby uzyskać więcej informacji na temat używania języka Markdown w usłudze Azure DevOps, zobacz dokumentację wskazówek dotyczących 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 znaczącej zawartości. W tej aktualizacji każdy plik zawierający blok YAML na początku pliku zostanie przekształcony w tabelę metadanych z jedną głową i jednym wierszem. Blok YAML musi mieć postać prawidłowego zestawu YAML między trzema liniami przerywanym. Obsługuje wszystkie podstawowe typy danych, listę, obiekt jako wartość. Składnia jest obsługiwana w wersji zapoznawczej plików typu wiki i kodu.

Przykład tagów YAML:

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

Tabela YAML

Przykład tagów YAML z listą:

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

Tabela YAML z listą

Publikowanie kodu jako witryny typu wiki z uprawnieniami współtworzenia

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

Raportowanie

Rozszerzenie platformy handlowej analizy do raportowania jest teraz dostępne

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

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

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

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

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ć Twoją opinię! Możesz zgłosić problem lub dostarczyć pomysł i śledzić go przez Developer Community i uzyskać porady na temat Stack Overflow.


Górna część strony