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
- 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 |
- Pobierz i wyodrębnij Tasks20231103.zip.
- Zmień katalog na wyodrębnione pliki.
- 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
- Pobierz i zainstaluj Azure DevOps Server 2019.0.1 Patch 15.
Aktualizowanie agenta usługi Azure Pipelines
- Pobierz agenta z: https://github.com/microsoft/azure-pipelines-agent/releases/tag/v3.225.0 — Agent_20230825.zip
- 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
- 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
- Pobierz i wyodrębnij Tasks_20230825.zip.
- Zmień katalog na wyodrębnione pliki.
- 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
- Uaktualnij serwer przy użyciu poprawki 12.
- 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). - 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.
- Uaktualnij serwer przy użyciu poprawki 12.
- 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). - Skopiuj zawartość folderu o nazwie zip znajdującą się w
C:\Program Files\{TFS Version Folder}\Search\zip
folderze zdalnym Elasticsearch. - 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.
- CVE-2021-27067: Ujawnienie informacji
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
Wyodrębnij pakiet AzureResourceGroupDeploymentV2.zip do nowego folderu na komputerze. Na przykład : AzureResourceGroupDeploymentV2.
Pobierz i zainstaluj Node.js 14.15.1 i narzędzie npm (dołączone do pobierania Node.js) zgodnie z maszyną.
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
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 .
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
- 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
Zainstaluj moduł Azure Powershell Azure PowerShell az na prywatnej maszynie agenta.
Utwórz potok za pomocą zadania AzurePowerShellV4 . W zadaniu zobaczysz tylko jeden błąd w warstwie Standardowa .
Instalowanie
Wyodrębnij pakiet AzurePowerShellV4.zip do folderu o nazwie AzurePowerShellV4.
Pobierz i zainstaluj Node.js 14.15.1 i narzędzie npm (dołączone do pobierania Node.js) zgodnie z maszyną.
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
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 .
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
- 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.
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:
- Łączenie zatwierdzeń i żądań ściągnięcia w usłudze GitHub Enterprise do elementów roboczych Azure Boards
- Konfigurowanie kompilacji przy użyciu języka YAML
- Adnotacje kart obejmują usterki i niestandardowe typy elementów roboczych
- Ulepszony selektor gałęzi
- Zmiany w artefaktach i licencjonowaniu potoku wdrażania Release Management
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:
- Nowe środowisko nawigacji
- Rozszerzenie platformy handlowej analizy do raportowania jest teraz dostępne
- Obsługa usługi Azure SQL Database
- Przetwarzanie dziedziczenia w nowych kolekcjach
- Centrum Nowych elementów roboczych
- Nowe tablice, listy prac i centra przebiegów
- Nowe centrum zapytań
- Standaryzacja opisów żądań ściągnięcia przy użyciu szablonów
- Zmienianie gałęzi docelowej żądania ściągnięcia
- Zarządzanie potokami kompilacji przy użyciu nowej strony Kompilacje
- Zarządzanie potokami wydania przy użyciu nowej strony Wydania
- Wizualizowanie postępu wydania
- Lokalne aktualizowanie agenta
- Stopniowo uwidaczniaj wdrożenia i fazy przy użyciu bram wydania
- Źródła nadrzędne
- Tworzenie spisu treści dla stron typu wiki
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 .
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.
Rozwinięte pole wyszukiwania
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:
Po wpiseniu ciągu "/" zostanie wyświetlone 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:
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:
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:
Boards
Łączenie zatwierdzeń i żądań ściągnięcia w usłudze GitHub Enterprise w celu Azure Boards elementów roboczych
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.
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:
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:
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.
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.
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.
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.
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.
Po włączeniu adnotacji dla elementu roboczego liczniki tego typu elementu roboczego są uwzględniane na karcie jako oddzielną listę kontrolną.
Szybkie tworzenie włączonych typów elementów roboczych jest również dostępne za pośrednictwem menu kontekstowego karty.
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.
Ponadto daty iteracji są uwzględniane po prawej stronie nazwy, dzięki czemu można szybko ocenić, kiedy element roboczy powinien zostać dostarczony.
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.
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.
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.
Otwieranie elementów roboczych z wyszukiwania
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.
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.
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:
- 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.
- 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:
- 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.
- 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.
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.
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-feature
element . 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.
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.
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.
Przejdź do widoku folderów, aby utworzyć foldery dla organizacji i zabezpieczeń. Zabezpieczenia można ustawić na poziomie folderu.
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.
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.
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.
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.
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.
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.
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.
Łączenie powiązanych kompilacji przy użyciu wyzwalaczy uzupełniania kompilacji
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 .
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.
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.
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.
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.
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.
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.
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.
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.
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 .
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:
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.
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 .
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 .
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.
Ustawianie zmiennej w czasie wydania
W definicji wydania można teraz wybrać zmienne, które chcesz ustawić podczas tworzenia 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 .
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 .
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.
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ń .
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.
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.
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:
- 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.
- 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.
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 ).
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.
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.
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.
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.
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.
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 .
Łącze do nagłówków na stronie
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ą.
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ą.
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>
:::
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ę.
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.
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 |
Wyświetlanie przerwanych łączy
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.
Naprawianie uszkodzonych łączy podczas przenoszenia stron
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.
Zostanie wyświetlona lista linków strony i elementów roboczych , których dotyczy problem przed podjęciem akcji.
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 można również wstawić, klikając odpowiedni przycisk w okienku formatowania podczas edytowania strony.
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
---
Przykład tagów YAML z listą:
---
tags:
- post
- code
- web
title: Hello world
---
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.