Informacje o wersji programu Azure DevOps Server 2019
Skróty SHA-1 bloga | DevOps dotyczące wymagań systemowych | dla | społeczności | deweloperów
Ten artykuł zawiera informacje dotyczące najnowszej wersji usługi Azure DevOps Server.
Aby dowiedzieć się więcej na temat instalowania lub uaktualniania wdrożenia usługi Azure DevOps Server, zobacz Wymagania dotyczące usługi Azure DevOps Server. Aby pobrać produkty Usługi Azure DevOps, odwiedź stronę pobierania usługi Azure DevOps Server.
Bezpośrednie uaktualnienie do usługi Azure DevOps Server 2020 jest obsługiwane z poziomu programu Azure DevOps Server 2019 lub Team Foundation Server 2015 lub nowszego. Jeśli wdrożenie serwera TFS jest na serwerze TFS 2010 lub starszym, przed uaktualnieniem do usługi Azure DevOps Server 2019 należy wykonać pewne kroki tymczasowe. Aby dowiedzieć się więcej, zobacz Instalowanie i konfigurowanie lokalnej usługi Azure DevOps.
Bezpieczne uaktualnianie z usługi Azure DevOps Server 2019 do usługi Azure DevOps Server 2020
Usługa Azure DevOps Server 2020 wprowadza nowy model przechowywania przebiegu potoku (kompilacji), który działa na podstawie ustawień na poziomie projektu.
Usługa Azure DevOps Server 2020 obsługuje przechowywanie kompilacji inaczej na podstawie zasad przechowywania na poziomie potoku. Niektóre konfiguracje zasad prowadzą do usunięcia przebiegów potoku po uaktualnieniu. Przebiegi potoków, które zostały ręcznie zachowane lub są zachowywane przez wydanie, nie zostaną usunięte po uaktualnieniu.
Przeczytaj nasz wpis w blogu, aby uzyskać więcej informacji na temat bezpiecznego uaktualniania z usługi Azure DevOps Server 2019 do usługi Azure DevOps Server 2020.
Azure DevOps Server 2019.0.1 Patch 16 Data wydania: 14 listopada 2023 r.
Opublikowaliśmy poprawkę dla usługi Azure DevOps Server 2019 Update 1.2, która zawiera poprawki dla następujących elementów.
- Rozszerzono listę dozwolonych zadań programu PowerShell dla opcji Włącz sprawdzanie poprawności parametrów argumentów zadań powłoki.
Uwaga
Aby zaimplementować poprawki dla tej poprawki, należy wykonać kilka kroków w celu ręcznego aktualizowania zadań.
Instalowanie poprawek
Ważne
Opublikowaliśmy aktualizacje agenta usługi Azure Pipelines z poprawką 15 wydaną 12 września 2023 r. Jeśli aktualizacje agenta nie zostały zainstalowane zgodnie z opisem w informacjach o wersji poprawki 15, zalecamy zainstalowanie tych aktualizacji przed zainstalowaniem poprawki 16. Nowa wersja agenta po zainstalowaniu poprawki 15 będzie mieć wartość 3.225.0.
Konfigurowanie rozwiązania TFX
- Wykonaj kroki opisane w dokumentacji przekazywania zadań do kolekcji projektów, aby zainstalować i zalogować się za pomocą interfejsu wiersza polecenia tfx-cli.
Aktualizowanie zadań przy użyciu narzędzia TFX
Plik | Skrót SHA-256 |
---|---|
Tasks20231103.zip | 389BA66EEBC32622FB83402E21373CE20AE040F70461B9F9EFCED5034D2E5 |
- 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 można było użyć nowego zachowania, zmienna AZP_75787_ENABLE_NEW_LOGIC = true
musi być ustawiona w potokach, które korzystają z zadań, których dotyczy problem.
W wersji klasycznej:
Zdefiniuj zmienną na karcie zmiennej w potoku.
Przykład YAML:
variables:
- name: AZP_75787_ENABLE_NEW_LOGIC
value: true
Azure DevOps Server 2019.0.1 Patch 15 Data wydania: 12 września 2023 r.
Opublikowaliśmy poprawkę dla usługi Azure DevOps Server 2019.0.1, która naprawia następujące poprawki.
- CVE-2023-33136: Luka w zabezpieczeniach dotycząca zdalnego wykonywania kodu serwera Azure DevOps Server.
- CVE-2023-38155: Luka w zabezpieczeniach dotycząca podniesienia uprawnień na serwerze Azure DevOps Server i serwera Team Foundation Server.
Ważne
Wdróż poprawkę w środowisku testowym i upewnij się, że potoki środowiska działają zgodnie z oczekiwaniami przed zastosowaniem poprawki do środowiska produkcyjnego.
Uwaga
Aby zaimplementować poprawki dla tej poprawki, należy wykonać kilka kroków w celu ręcznego zaktualizowania agenta i zadań.
Instalowanie poprawek
- Pobierz i zainstaluj program 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
- Aby wdrożyć agenta, wykonaj kroki opisane w dokumentacji własnych agentów systemu Windows.
Uwaga
AZP_AGENT_DOWNGRADE_DISABLED musi być ustawiona na wartość "true", aby zapobiec obniżeniu poziomu agenta. W systemie Windows następujące polecenie może być używane w wierszu polecenia administracyjnego, a następnie ponowne uruchomienie. setx AZP_AGENT_DOWNGRADE_DISABLED true /M
Konfigurowanie rozwiązania TFX
- Wykonaj kroki opisane w dokumentacji przekazywania zadań do kolekcji projektów, aby zainstalować i zalogować się za pomocą interfejsu wiersza polecenia tfx-cli.
Aktualizowanie zadań przy użyciu narzędzia TFX
- 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 można było użyć nowego zachowania, zmienna AZP_75787_ENABLE_NEW_LOGIC = true
musi być ustawiona w potokach, które korzystają z zadań, których dotyczy problem.
W wersji klasycznej:
Zdefiniuj zmienną na karcie zmiennej w potoku.
Przykład YAML:
variables:
- name: AZP_75787_ENABLE_NEW_LOGIC
value: true
Azure DevOps Server 2019.0.1 Patch 14 Data wydania: 8 sierpnia 2022 r.
Opublikowaliśmy poprawkę dla usługi Azure DevOps Server 2019.0.1, która naprawia następujące poprawki.
- CVE-2023-36869: Luka w zabezpieczeniach dotycząca fałszowania serwera Azure DevOps.
Azure DevOps Server 2019.0.1 Patch 13 Data wydania: 17 maja 2022 r.
Opublikowaliśmy poprawkę dla usługi Azure DevOps Server 2019.0.1, która naprawia następujące poprawki.
- Odwoływanie wszystkich osobistych tokenów dostępu po wyłączeniu konta usługi Active Directory użytkownika.
Azure DevOps Server 2019.0.1 Patch 12 Data wydania: 26 stycznia 2022 r.
Opublikowaliśmy poprawkę dla usługi Azure DevOps Server 2019.0.1, która naprawia następujące poprawki.
- Usunięto lukę w zabezpieczeniach usługi Elasticsearch, usuwając klasę jndilookup z plików binarnych log4j.
Kroki instalacji
- 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, jak podano w pliku readme. Może zostać zwrócone ostrzeżenie, takie jak: Nie można nawiązać połączenia z serwerem zdalnym. Nie zamykaj okna, ponieważ aktualizacja wykonuje ponowną próbę, dopóki nie zostanie ukończona.
Uwaga
Jeśli program Azure DevOps Server i Elasticsearch są zainstalowane na różnych maszynach, wykonaj kroki opisane poniżej.
- 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 Patch 11 Data wydania: 10 sierpnia 2021 r.
Opublikowaliśmy poprawkę dla usługi Azure DevOps Server 2019.0.1, która naprawia następujące poprawki.
- Naprawiono błąd interfejsu użytkownika definicji kompilacji.
Azure DevOps Server 2019.0.1 Patch 10 Data wydania: 13 kwietnia 2021 r.
Opublikowaliśmy poprawkę dla usługi Azure DevOps Server 2019.0.1, która naprawia następujące poprawki.
- 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 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 usługi Azure DevOps Server 2019.0.1, która naprawia następujące poprawki. Zobacz wpis w blogu, aby uzyskać więcej informacji.
- CVE-2020-1325: Luka w zabezpieczeniach dotycząca fałszowania serwera Azure DevOps
- CVE-2020-17135: Luka w zabezpieczeniach dotycząca fałszowania serwera Azure DevOps
- CVE-2020-17145: Luka w zabezpieczeniach dotycząca fałszowania serwerów DevOps i serwera Team Foundation Server
- Rozwiązano problem z brakiem przetwarzania wszystkich wyników przez serwer TFVC
Ważne
Przed zainstalowaniem tej poprawki zapoznaj się z pełnymi instrukcjami podanymi poniżej.
Ogólna instalacja poprawek
Jeśli masz usługę Azure DevOps Server 2019.0.1, zainstaluj program Azure DevOps Server 2019.0.1 Patch 9.
Weryfikowanie instalacji
Opcja 1. Uruchom
devops2019.0.1patch9.exe CheckInstall
polecenie , devops2019.0.1patch9.exe jest plikiem pobranym z powyższego linku. Dane wyjściowe polecenia powiedzą, że poprawka została zainstalowana lub która nie jest zainstalowana.Opcja 2. Sprawdź wersję następującego pliku:
[INSTALL_DIR]\Azure DevOps Server 2019\Application Tier\Web Services\bin\Microsoft.VisualStudio.Services.Feed.Server.dll
. Program Azure DevOps Server 2019 jest instalowany domyślniec:\Program Files\Azure DevOps Server 2019
. Po zainstalowaniu poprawki 9 programu Azure DevOps Server 2019.0.1 wersja będzie mieć wartość 17.143.30723.4 .
Instalacja zadania AzurePowerShellV4
Uwaga
Wszystkie kroki wymienione poniżej należy wykonać na maszynie z systemem Windows
Wymagania wstępne
Zainstaluj moduł Azure PowerShell Az modułu Azure PowerShell na prywatnej maszynie agenta.
Utwórz potok za pomocą zadania AzurePowerShellV4 . W zadaniu zobaczysz tylko jeden błąd niepowodzenie w warstwie Standardowa.
Instalowanie
Wyodrębnij pakiet AzurePowerShellV4.zip do folderu o nazwie AzurePowerShellV4.
Pobierz i zainstaluj Node.js 14.15.1 i 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 usługi Azure DevOps Server 2019.0.1, która naprawia następujące poprawki. Zobacz wpis w blogu, aby uzyskać więcej informacji.
- DTS 1713492 — nieoczekiwane zachowanie podczas dodawania grup usługi AD do uprawnień zabezpieczeń.
Azure DevOps Server 2019.0.1 Patch 7 Data wydania: 14 lipca 2020 r.
Opublikowaliśmy poprawkę zabezpieczeń dla usługi Azure DevOps Server 2019.0.1, która naprawia następujące poprawki. Zobacz wpis w blogu, aby uzyskać więcej informacji.
- CVE-2020-1326: Luka w zabezpieczeniach dotycząca skryptów między witrynami
- Potok kompilacji pokazuje nieprawidłowe połączenie dla nieautoryzowanych użytkowników podczas wybierania innego źródła git.
- Naprawiono błąd podczas zmieniania wartości Dziedziczenie na Włączone lub Wyłączone w definicji kompilacji XAML.
Azure DevOps Server 2019.0.1 Patch 6 Data wydania: 10 czerwca 2020 r.
Opublikowaliśmy poprawkę zabezpieczeń dla usługi Azure DevOps Server 2019.0.1, która naprawia następujące poprawki. Zobacz wpis w blogu, aby uzyskać więcej informacji.
- CVE-2020-1327: Upewnij się, że usługa Azure DevOps Server oczyszcza dane wejściowe użytkownika
- Dodawanie obsługi algorytmu SHA2 w usłudze SSH w usłudze Azure DevOps
Azure DevOps Server 2019.0.1 Patch 5 Data wydania: 10 marca 2020 r.
Opublikowaliśmy poprawkę zabezpieczeń dla usługi Azure DevOps Server 2019.0.1, która naprawia następujące poprawki. Zobacz wpis w blogu, aby uzyskać więcej informacji.
- CVE-2020-0700: Luka w zabezpieczeniach dotycząca skryptów między witrynami
- CVE-2020-0758: Luka w zabezpieczeniach dotycząca podniesienia uprawnień
- CVE 2020-0815: Luka w zabezpieczeniach dotycząca podniesienia uprawnień
Azure DevOps Server 2019.0.1 Patch 3 Data wydania: 10 września 2019 r.
Opublikowaliśmy poprawkę zabezpieczeń dla serwera Azure DevOps Server 2019.0.1, która naprawia następujące błędy. Zobacz wpis w blogu, aby uzyskać więcej informacji.
- CVE-2019-1305: Luka w zabezpieczeniach dotycząca skryptów między witrynami (XSS) w repozytoriach
- CVE-2019-1306: Luka w zabezpieczeniach dotycząca zdalnego wykonywania kodu w witrynie typu wiki
Azure DevOps Server 2019.0.1 Patch 2 Data wydania: 13 sierpnia 2019 r.
Opublikowaliśmy poprawkę zabezpieczeń dla serwera Azure DevOps Server 2019.0.1, która naprawia następujący błąd. Zobacz wpis w blogu, aby uzyskać więcej informacji.
- Dodaliśmy informacje do połączeń usług, aby wyjaśnić, że są one domyślnie autoryzowane dla wszystkich potoków.
Azure DevOps Server 2019.0.1 Patch 1 Data wydania: 9 lipca 2019 r.
Opublikowaliśmy poprawkę zabezpieczeń dla serwera Azure DevOps Server 2019.0.1, która naprawia następujące błędy. Zobacz wpis w blogu, aby uzyskać więcej informacji.
- CVE-2019-1072: Luka w zabezpieczeniach dotycząca zdalnego wykonywania kodu w śledzeniu elementów roboczych
- CVE-2019-1076: Luka w zabezpieczeniach dotycząca skryptów między witrynami (XSS) w żądaniach ściągnięcia
Azure DevOps Server 2019.0.1 Data wydania: 21 maja 2019 r.
Azure DevOps Server 2019.0.1 to zestawienie poprawek błędów. Zawiera wszystkie poprawki w wcześniej wydanych poprawkach programu Azure DevOps Server 2019. Możesz bezpośrednio zainstalować program Azure DevOps Server 2019.0.1 lub uaktualnić z programu Azure DevOps Server 2019 lub Team Foundation Server 2012 lub nowszego.
Uwaga
Narzędzie do migracji danych będzie dostępne dla usługi Azure DevOps Server 2019.0.1 około trzech tygodni po tej wersji. Listę wersji obecnie obsługiwanych przy importowaniu można znaleźć tutaj.
Ta wersja zawiera poprawki następujących błędów:
Azure Boards
- "Kryteria pola dla tego planu mają błąd". Podczas konfigurowania planu. Zgłoszone za pośrednictwem społeczności deweloperów.
- funkcja apiwitcontroller.executequery zgłasza wyjątek, gdy zapytanie ma tę samą kolumnę wiele razy.
- W modelu obiektów klienta przy użyciu zakresu vso.work_full oauth workItemServer.DownloadFile() kończy się niepowodzeniem.
- Kopiowanie obrazu osadzonego z pola elementu roboczego do innego pola elementu roboczego w innym projekcie może spowodować utworzenie uszkodzonego obrazu.
Azure Repos
- "TF401019: GitRepositoryNotFoundException".
Azure Pipelines
- Karta Analiza testów ma gwiazdkę (*) wskazującą podgląd, mimo że ta funkcja nie jest dostępna w wersji zapoznawczej.
- Na karcie Wydania akcja zarządzania zabezpieczeniami jest teraz wyświetlana wszystkim użytkownikom niezależnie od tego, czy mogą zmienić uprawnienia, czy nie.
- Na stronach docelowych Wydania akcja rozpoczęcia wersji roboczej była tworzeniem nowej wersji, ale teraz rozpoczyna wersję roboczą.
Azure Test Plans
- Filtr 1 godziny dla elementów TestRuns i TestResults CompletedDate jest zbyt szczegółowy.
- W typie elementu roboczego Przypadek testowy typ "Przypadek testowy" nie powinien być zlokalizowany.
- Przypadki testowe nie są wyświetlane w programie MTM ani w przeglądarce.
- "Etap sprawdzania poprawności: nie masz uprawnień do wyzwalania wydań w skojarzonym potoku wydania" podczas uruchamiania testów automatycznych z planu testów. Zgłoszone za pośrednictwem społeczności deweloperów.
- Przy użyciu interfejsu API usuwania przypadku testowego przypadki testowe można usunąć z innych projektów. Zgłoszone za pośrednictwem społeczności deweloperów.
- Kliknięcie linku elementu roboczego w narzędziu Test Runner powoduje otwarcie adresu URL elementu roboczego wewnątrz modułu uruchamiającego testy zamiast domyślnej przeglądarki.
- Stan przypadku testowego nie jest aktualizowany dla użytkowników, którzy wylogowyją się z modułu uruchamiającego testy.
- Nazwa użytkownika i adres e-mail nie są wyświetlane na liście rozwijanej użytkownika w module uruchamiającym testy.
Azure Artifacts
- Przenieś w górę i Przenieś w dół nie są zlokalizowane w strumieniach nadrzędnych.
Analiza
- Raporty analityczne mogą wyświetlać niekompletne dane, ponieważ model jest oznaczony jako "gotowy", zanim zostanie on rzeczywiście ukończony.
- Widżety szybkości, wypalania i spalania wyświetlają różne planowane prace dla użytkowników w różnych strefach czasowych.
- Blokada może zostać umieszczona na pozyskiwaniu danych analizy podczas konserwacji, co może powodować nieaktualne raporty.
Ogólne
- Lewe elementy nawigacji są wyciśnięte w programie IE, gdy nie ma wystarczającej ilości miejsca.
Administracja
- Dodatkowe rejestrowanie dodane do uaktualnienia kolekcji w celu ułatwienia debugowania problemów.
- Gdy polecenie TfsConfig offlineDetach kończy się niepowodzeniem, komunikat o błędzie nie jest możliwy do wykonania.
- Usługa TfsJobAgent ulega awarii.
- Rozszerzenie wyszukiwania nie jest instalowane po zakończeniu konfiguracji.
- Konsola administracyjna przestaje odpowiadać, gdy baza danych konfiguracji jest uszkodzona.
- Punkty zaczepienia usługi mogą nie przetwarzać poprawnie powiadomień.
- Indeksowanie wyszukiwania kodu nie jest uruchamiane po skonfigurowaniu funkcji Wyszukiwania.
- W wynikach stron wyszukiwania istnieją nielokalizowane ciągi.
Ta wersja zawiera następującą aktualizację:
Obsługa programu Visual Studio 2019 (VS2019) w zadaniu testowym programu Visual Studio
Dodaliśmy obsługę programu Visual Studio 2019 do zadania Test programu Visual Studio w potokach. Aby uruchomić testy przy użyciu platformy testowej dla programu Visual Studio 2019, wybierz opcje Najnowsze lub Visual Studio 2019 z listy rozwijanej Wersja platformy testowej.
Azure DevOps Server 2019 Patch 2 — data wydania: 14 maja 2019 r.
Opublikowaliśmy poprawkę zabezpieczeń dla usługi Azure DevOps Server 2019, która naprawia następujące usterki. Zobacz wpis w blogu, aby uzyskać więcej informacji.
- CVE-2019-0872: Luka w zabezpieczeniach dotycząca skryptów między witrynami (XSS) w planach testów
- CVE-2019-0971: Luka w zabezpieczeniach dotycząca ujawniania informacji w interfejsie API repozytoriów
- CVE-2019-0979: Luka w zabezpieczeniach dotycząca skryptów między witrynami (XSS) w centrum użytkowników
Azure DevOps Server 2019 Patch 1 — data wydania: 9 kwietnia 2019 r.
Opublikowaliśmy poprawkę zabezpieczeń dla usługi Azure DevOps Server 2019, która naprawia następujące usterki. Zobacz wpis w blogu, aby uzyskać więcej informacji.
- CVE-2019-0857: Luka w zabezpieczeniach dotycząca fałszowania w witrynie Typu Wiki
- CVE-2019-0866: Luka w zabezpieczeniach dotycząca zdalnego wykonywania kodu w usłudze Pipelines
- CVE-2019-0867: Luka w zabezpieczeniach dotycząca skryptów między witrynami (XSS) w usłudze Pipelines
- CVE-2019-0868: Luka w zabezpieczeniach dotycząca skryptów między witrynami (XSS) w usłudze Pipelines
- CVE-2019-0869: Luka w zabezpieczeniach dotycząca wstrzyknięcia kodu HTML w usłudze Pipelines
- CVE-2019-0870: Luka w zabezpieczeniach dotycząca skryptów między witrynami (XSS) w usłudze Pipelines
- CVE-2019-0871: Luka w zabezpieczeniach dotycząca skryptów między witrynami (XSS) w usłudze Pipelines
- CVE-2019-0874: Luka w zabezpieczeniach dotycząca skryptów między witrynami (XSS) w usłudze Pipelines
- CVE-2019-0875: Luka w zabezpieczeniach dotycząca podniesienia uprawnień w tablicach
Data wydania programu Azure DevOps Server 2019: 5 marca 2019 r.
Uwaga
Narzędzie do migracji danych będzie dostępne dla usługi Azure DevOps Server 2019 około trzech tygodni po tej wersji. Listę wersji obecnie obsługiwanych przy importowaniu można znaleźć tutaj.
Data wydania RC2: 22 stycznia 2019 r.
Podsumowanie nowości w usłudze Azure DevOps Server 2019 RC2
Dodaliśmy następujące funkcje do wersji RC2:
- Łączenie zatwierdzeń i żądań ściągnięcia usługi GitHub Enterprise z elementami roboczymi usługi 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 licencjonowaniu artefaktów i potoku wdrażania zarządzania wydaniami
Data wydania RC1: 19 listopada 2018 r.
Podsumowanie nowości w usłudze Azure DevOps Server 2019 RC1
Usługa Azure DevOps Server 2019 wprowadza nowe środowisko nawigacji i wiele nowych funkcji. Niektóre najważniejsze funkcje to:
- Nowe środowisko nawigacji
- Rozszerzenie platformy handlowej analizy na potrzeby 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 koncentratory przebiegu
- Centrum nowych zapytań
- Standaryzacja opisów żądań ściągnięcia przy użyciu szablonów
- Zmiana docelowej gałęzi żą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 wydań
- Ź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 usługi Azure DevOps Server
10 września ogłosiliśmy usługę Azure DevOps jako ewolucję usług Visual Studio Team Services i Team Foundation Server. Azure DevOps Server 2019 to nasza pierwsza wersja lokalna z tą nową marką. Więcej informacji można znaleźć w naszym wpisie w blogu.
Nowe środowisko nawigacji
Wprowadzamy nową nawigację w celu modernizacji środowiska użytkownika. Ta nowa nawigacja została wdrożona w usłudze Azure DevOps i jest teraz dostępna w usłudze Azure DevOps Server 2019. Aby uzyskać więcej informacji, zobacz nasz blog .
Zmiany w licencjonowaniu artefaktów i potoku wdrażania zarządzania wydaniami
Na podstawie opinii użytkowników wprowadzamy dwie kluczowe zmiany w naszych licencjach za pomocą usługi Azure DevOps Server 2019. Najpierw klienci nie będą już musieli kupować rozszerzenia Artifact, aby używać artefaktów. Użycie licencji Artifacts zostanie teraz uwzględnione w licencji podstawowej. Wszyscy użytkownicy, którzy mają przypisaną licencję podstawową, będą mogli teraz używać artefaktów. Po drugie, klienci nie będą już musieli kupować potoków wdrażania zarządzania wydaniami. Podobnie jak w przypadku potoków kompilacji potoki wdrażania zarządzania wydaniami są teraz dołączone do usługi Azure DevOps Server 2019.
Obsługa usługi Azure SQL Database
Aby uprościć środowisko uruchamiania usługi Azure DevOps 2019 na platformie Azure, włączyliśmy obsługę usługi Azure SQL Database (ogólnego przeznaczenia S3 i nowszych). Dzięki temu można korzystać z rozbudowanych funkcji tworzenia kopii zapasowych i opcji skalowania, aby dopasować je do Twoich potrzeb, jednocześnie zmniejszając koszty administracyjne związane z uruchamianiem usługi. Należy pamiętać, że maszyna wirtualna hosta musi znajdować się w tym samym regionie świadczenia usługi Azure co baza danych, aby zachować małe opóźnienie. Więcej informacji zawiera dokumentacja.
Interfejsy API SOAP modelu obiektów klienta i elementu roboczego testowego w przyszłych wersjach
Usługa Azure DevOps Server 2019 nadal obsługuje interfejs API protokołu SOAP śledzenia elementów roboczych i model obiektów klienta. Jednak zostanie ona oznaczona jako przestarzała w przyszłych wersjach usługi Azure DevOps Server. Więcej informacji można znaleźć w naszej dokumentacji.
Przetwarzanie dziedziczenia w nowych kolekcjach
Dziedziczenie procesów jest teraz dostępne w nowych kolekcjach. Użytkownicy będą musieli podjąć decyzję o sumieniu w modelu procesu podczas tworzenia nowej kolekcji. Zapoznaj się z naszą dokumentacją dotyczącą tego, czym jest model dziedziczenia i czym różni się od kodu XML.
Rozwinięte pole wyszukiwania
Rozumiemy znaczenie wyszukiwania i przywracamy rozwinięte pole wyszukiwania w nagłówku produktu. Ponadto możesz teraz wywołać pole wyszukiwania, klikając pozycję "/" na dowolnej stronie usługi w usłudze Azure DevOps.
Oto domyślne pole wyszukiwania:
Po wpiseniu ciągu "/" zostanie wyświetlone rozwinięte pole wyszukiwania:
Moje okno wysuwane pracy
Nowa funkcja, która jest bardzo podekscytowana wprowadzeniem , to mój wysuwany program pracy . Słyszeliśmy opinię, że gdy jesteś w jednej części produktu i chcesz uzyskać informacje z innej części, nie chcesz utracić kontekstu. Dzięki tej nowej funkcji możesz uzyskać dostęp do tego wysuwanego menu z dowolnego miejsca w produkcie. Dzięki niej możesz szybko zapoznać się z kluczowymi informacjami, takimi jak elementy robocze, żądania ściągnięcia i wszystkie ulubione. Dzięki temu nowemu wysuwaniu, jeśli jesteś w repozytoriach w dół w kodzie, ale chcesz szybko sprawdzić, który element roboczy należy pracować dalej, możesz po prostu kliknąć wysuwane elementy robocze i zobaczyć elementy robocze przypisane do Ciebie i odebrać następny element.
Poniżej zobaczysz menu wysuwane moje prace z wyświetlonymi elementami roboczymi przypisanymi do mnie:
W tym miejscu zobaczysz drugi element przestawny, który pokazuje przypisane do mnie żądania ściągnięcia. W oknie wysuwaym masz również dostęp jednym kliknięciem, aby wyświetlić więcej żądań ściągnięcia:
W tym miejscu możesz zobaczyć ostatni element przestawny, czyli wszystko, co zostało ulubione. Obejmuje to ulubione zespoły, pulpity nawigacyjne, tablice, listy prac, zapytania i repozytoria:
Boards
Łączenie zatwierdzeń i żądań ściągnięcia usługi GitHub Enterprise z elementami roboczymi usługi Azure Boards
Zespoły, które używają usługi GitHub Enterprise do obsługi kodu i chcą rozbudowanych funkcji zarządzania projektami, mogą teraz integrować swoje repozytoria z usługą Azure Boards. Łącząc usługi GitHub i Azure Boards, możesz uzyskać wszystkie funkcje, takie jak listy prac, tablice, narzędzia planowania przebiegu, wiele typów elementów roboczych i nadal mają przepływ pracy integrujący się z przepływami pracy deweloperów w usłudze GitHub.
Łączenie zatwierdzeń i żądań ściągnięcia z elementami roboczymi jest łatwe. Wspomnij o elemencie roboczym przy użyciu następującej składni:
AB#{work item ID}
Wzmianka o elemencie roboczym w komunikacie zatwierdzenia, tytule żądania ściągnięcia lub opis żądania ściągnięcia, a usługa Azure Boards utworzy link do tego artefaktu. Rozważmy na przykład komunikat zatwierdzenia podobny do następującego:
Adds support for deleting connections. Fixes AB#20.
Spowoduje to utworzenie linku z elementu roboczego #20 do zatwierdzenia w usłudze GitHub, które zostanie wyświetlone w sekcji Programowanie elementu roboczego.
Jeśli słowa "fix", "fixs" lub "fixed" poprzedzają wzmiankę o elemencie roboczym (jak pokazano powyżej), element roboczy zostanie przeniesiony do stanu ukończonego po scaleniu zatwierdzenia z gałęzią domyślną.
Zespoły korzystające z usługi Azure Pipelines do kompilowania kodu w usłudze GitHub będą również widzieć elementy robocze połączone z zatwierdzeniami usługi GitHub w podsumowaniu kompilacji.
Centrum Nowych elementów roboczych
Centrum elementów roboczych to nasze nowe centrum, które będzie służyć jako strona główna elementów roboczych. W tym miejscu masz wiele różnych widoków listy elementów roboczych, które są ograniczone w dół. Możesz wyświetlić pozycję Przypisane do mnie , aby szybko zapoznać się ze wszystkimi zadaniami przypisanymi do Ciebie lub Ostatnio zaktualizowanymi , co pokazuje wszystkie elementy robocze w projekcie, które zostały ostatnio zaktualizowane. Poniżej przedstawiono wszystkie opcje listy:
Jeśli chcesz jeszcze bardziej ograniczyć zakres list, możesz filtrować według typu, przypisanego do, stanu, obszaru, tagów i słowa kluczowego. Po wyświetleniu żądanego widoku listy możesz po prostu posortować elementy robocze, klikając nagłówek kolumny. Jeśli jedna kolumna jest zbyt wąskia, aby wyświetlić pełną zawartość kolumny, możesz łatwo zmienić rozmiar kolumny w obszarze nagłówka. Te środowiska można zobaczyć poniżej:
Nowe tablice, listy prac i koncentratory przebiegu
Centrum Listy prac zostało podzielone na trzy odrębne koncentratory, aby ulepszyć środowisko użytkownika. Choć potężne, stare centrum Zaległości było domem dla zbyt wielu funkcji. Często utrudniało to znalezienie funkcji lub możliwości, których szukali użytkownicy. Aby rozwiązać ten problem, podzieliliśmy centrum Listy prac na:
- Centrum Listy prac jest teraz domem dla tylko listy prac dla projektu. Lista prac jest priorytetową listą pracy dla zespołu. Listy prac zapewniają narzędzia do planowania, takie jak hierarchia elementów roboczych, prognozowanie i nowe środowisko planowania przebiegu.
- Nowe centrum Boards jest domem dla wszystkich tablic Kanban dla projektu. Tablice służą do komunikowania stanu i przepływu. Karty (elementy robocze) przechodzą od lewej do prawej po drugiej stronie tablicy za pomocą kolumn zdefiniowanych przez zespół.
- Nowe centrum Sprints jest domem dla funkcji używanych do planowania i wykonywania przyrostu pracy. Każdy przebieg zawiera listę prac przebiegu, tablicę zadań oraz widok umożliwiający zarządzanie pojemnością i ustawianie jej dla zespołu.
Centrum nowych zapytań
Nowe centrum zapytań usprawnia wiele istniejących funkcji zapytań ze starego centrum z bardziej nowoczesnym wyglądem i działaniem, a także udostępnia nowe funkcje, aby ułatwić uzyskiwanie ważnych zapytań. Oto niektóre najważniejsze funkcje nowego środowiska:
- Strony katalogów z ostatnią modyfikacją informacji i możliwość wyszukiwania zapytań
- Linki do stron nadrzędnych z unikatowymi adresami URL folderów do tworzenia zakładek ważnych grup zapytań
- Szybki dostęp do ulubionych zapytań na stronie wyników
Przeczytaj więcej na temat tych ekscytujących aktualizacji na naszym blogu DevOps.
Przenoszenie elementów roboczych do innego projektu i zmienianie typu elementu roboczego
Teraz możesz zmienić typ elementu roboczego lub przenieść elementy robocze do innego projektu w kolekcji projektów. Te funkcje wymagają wyłączenia magazynu danych. Gdy magazyn danych jest wyłączony, możesz użyć usługi Analizy do obsługi potrzeb związanych z raportowaniem. Aby dowiedzieć się więcej na temat wyłączania magazynu danych, zobacz Wyłączanie magazynu danych i modułu.
Funkcje planowania przebiegu
Nowe funkcje planowania przebiegu pomagają przyspieszyć i poprawić środowisko planowania przebiegu.
- Utwórz następny przebieg lub zasubskrybuj istniejący harmonogram przebiegu bezpośrednio z centrum Sprints .
- Użyj nowego okienka Planowanie na liście prac, aby przeciągać i upuszczać elementy robocze do przyszłych przebiegów. Okienko Planowanie zawiera daty przebiegu, liczbę elementów roboczych i planowane nakłady pracy.
- Dodaj wymagania w górnej części tablicy zadań lub użyj szybkiego tworzenia, aby dodać je do górnej, dolnej lub wybranego wiersza na liście prac przebiegu.
- Użyj filtrów dla atrybutów Przypisywanie, Typ elementu roboczego, Stan i Tagi, aby dostosować widoki do Twoich potrzeb.
Nowe strony katalogu
Wszystkie nowe centra, w tym listy prac, tablice i przebiegi, mają teraz nowe strony katalogów zorganizowane w następujących sekcjach:
- Kontynuuj, gdzie została przerwana Ta nowa sekcja zawiera szybki link bezpośrednio do ostatniego (Tablica | Zaległości | Sprint) byłeś na.
- Ulubione Wszystkie ulubione tablice, przebiegi i listy prac we wszystkich zespołach.
- Moje wszystkie tablice, listy prac i przebiegi dla zespołów, do których należysz.
- Cała pełna lista wszystkich tablic, list prac i przebiegów.
Menu Nowe opcje widoku
Nowe koncentratory, w tym listy prac, tablice i przebiegi, mają nowe menu Opcje widoku. Jest to nowy dom dla wszystkich akcji w celu dostosowania zawartości układu i strony. Użyj opcji widoków , aby włączyć dodatkowe widoki, takie jak wyświetlanie hierarchii na listach prac lub zmienianie opcji Grupuj według na tablicy zadań, aby włączyć panel boczny na potrzeby mapowania i planowania przebiegów lub eksplorować wykresy szczegółów pracy.
Przeczytaj więcej na temat tych ekscytujących aktualizacji, nowego okienka profilu zespołu i ulubionych na naszym blogu DevOps.
Adnotacje kart obejmują usterki i niestandardowe typy elementów roboczych
Adnotacje kart są uwielbiane w intuicyjnym widoku listy kontrolnej i interakcji. Wcześniej adnotacje kart były ograniczone do domyślnych typów poziomów listy prac i nie obsługiwały błędów ani typów niestandardowych. W nowej wersji usunęliśmy ograniczenie dotyczące typów elementów roboczych i dodaliśmy możliwość wyświetlania usterek i dowolnego niestandardowego typu elementu roboczego jako adnotacji karty.
Ustawienia tablicy adnotacji kart zostały rozwinięte w celu uwzględnienia wszystkich typów elementów roboczych dostępnych dla tego poziomu listy prac.
Po włączeniu adnotacji dla elementu roboczego liczba dla tego typu elementu roboczego jest uwzględniana na karcie jako oddzielnej listy kontrolnej.
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żki obszaru i iteracji zawierają teraz listę ostatnio używanych wartości jako Sugestie, zapewniając szybki dostęp do ustawiania i przechodzenia dalej.
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 liczb całkowitych. Łatwo zachowaj karty na temat pracy, która nie została zamknięta @CurrentIteration z - 1, lub spójrz na pracę zaplanowaną na przyszłe iteracji z @CurrentIteration + 1. Aby uzyskać więcej informacji, zobacz wpis @CurrentIteration w blogu usługi Microsoft DevOps.
Wyjaśnienie harmonogramów iteracji zapytań za pomocą parametru @CurrentIteration Team
Jeśli używasz makra @CurrentIteration w zapytaniach w przeszłości, być może zauważysz, że wyniki mogą się różnić, jeśli kontekst zespołu zmieni się w usłudze Teams z różnymi harmonogramami iteracji. Teraz podczas tworzenia lub modyfikowania zapytania @CurrentIteration za pomocą makra będzie konieczne również wybranie zespołu z harmonogramem iteracji, który jest odpowiedni dla zapytania. Za pomocą parametru Team można użyć makra @CurrentIteration w tym samym zapytaniu, ale w różnych zespołach. Jednym z przykładów może być zapytanie dotyczące elementów roboczych w dwóch różnych projektach zespołowych przy użyciu różnych nazw iteracji, a nawet harmonogramów. Oznacza to, że nie trzeba już aktualizować zapytań w miarę zmiany przebiegów. Aby uzyskać więcej informacji, zobacz wpis @CurrentIteration w blogu usługi Microsoft DevOps.
Wykonywanie zapytań w ścieżkach obszaru zespołu przy użyciu nowego @TeamAreas makra
W ustawieniach zespołu można skojarzyć co najmniej jedną ścieżkę obszaru, która pomaga skupić się na listach prac, tablicach, planach, nawet pulpitach nawigacyjnych tylko do pracy dla tego zespołu. Jeśli jednak chcesz napisać zapytanie dla zespołu, musisz wyświetlić listę określonych ścieżek obszaru dla tego zespołu w klauzulach zapytania. Teraz dostępne jest nowe makro @TeamAreas umożliwiające łatwe odwołanie do ścieżek obszaru należących do określonego zespołu.
Wykonywanie zapytań dotyczących pustych pól tekstowych sformatowanych
Znajdź elementy robocze, które mają puste pole tekstu sformatowanego, takie jak Opis, przy użyciu nowego operatora zapytania IsEmpty .
Łatwe znajdowanie istniejących elementów roboczych w łączeniu i wspominaniu środowisk
Jeśli chcesz połączyć ze sobą dwa istniejące elementy robocze, możesz teraz łatwo znaleźć element, który jest dla Ciebie ważny przy użyciu naszej nowej kontrolki wyszukiwania elementów roboczych. Selektor zapytań został zastąpiony sugestiami wbudowanymi na podstawie ostatnio używanych elementów roboczych, a także punktu wejścia do wyszukiwania określonego elementu roboczego według identyfikatora lub tytułu.
Otwieranie elementów roboczych na potrzeby wyszukiwania
Wcześniej nie można było otworzyć elementu roboczego ze strony wyników wyszukiwania, jeśli okienko podglądu elementu roboczego zostało wyłączone. Utrudniłoby to zagłębienie się w wyniki wyszukiwania. Teraz możesz kliknąć tytuł elementu roboczego, aby otworzyć elementy robocze w modalnym oknie.
Repos
Ulepszony selektor gałęzi
Większość środowisk w usłudze Azure Repos wymaga wybrania repozytorium, a następnie gałęzi w tym repozytorium. Aby ulepszyć to środowisko dla organizacji z dużą liczbą gałęzi, wprowadzamy nowy selektor gałęzi. Selektor pozwala teraz wybrać ulubione gałęzie lub szybko wyszukać gałąź.
Otrzymywanie powiadomień po obejściu zasad żądania ściągnięcia
W przypadku zespołów korzystających z żądań ściągnięcia (PRS) i zasad gałęzi mogą wystąpić sytuacje, w których ludzie muszą zastąpić i pominąć te zasady — na przykład podczas wdrażania poprawki w problemie produkcyjnym w środku nocy. Warto zaufać deweloperom, aby wykonali właściwą czynność i użyć możliwości przesłonięcia oszczędnie. Jednocześnie zespoły muszą sprawdzić, czy te przesłonięcia zasad są używane w odpowiednich sytuacjach. Aby to umożliwić, dodaliśmy nowy filtr powiadomień, aby umożliwić użytkownikom i zespołom otrzymywanie alertów e-mail za każdym razem, gdy zasady są pomijane. Rozpocznij od utworzenia lub zaktualizowania szablonu Żądanie ściągnięcia i wybierz pozycję Obejście zasad z listy filtrów. Wybierz pozycję Zasady zostały pominięte jako wartość i otrzymasz powiadomienie za każdym razem, gdy żądanie ściągnięcia zostanie ukończone, a zasady zostaną pominięte.
Zezwalaj na pomijanie zasad gałęzi bez rezygnacji z ochrony wypychanych
Istnieje wiele scenariuszy, w których czasami trzeba pominąć zasady gałęzi — przywrócenie zmiany, która spowodowała przerwanie kompilacji, zastosowanie poprawki w środku nocy itp. Wcześniej zaoferowaliśmy uprawnienie ("Wyklucz z wymuszania zasad"), aby ułatwić zespołom zarządzanie tym, którym użytkownikom przyznano możliwość pomijania zasad gałęzi podczas kończenia żądania ściągnięcia. Jednak to uprawnienie przyznało również możliwość wypychania bezpośrednio do gałęzi, pomijając całkowicie proces żądania ściągnięcia.
Aby ulepszyć to środowisko, podzieliliśmy stare uprawnienia, aby zapewnić większą kontrolę zespołom, które udzielają uprawnień obejścia. Istnieją dwa nowe uprawnienia do zastąpienia starego:
- 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ł w razie potrzeby użyć opcji obejścia, ale nadal będzie mieć ochronę przed przypadkowym wypchnięciem do gałęzi z zasadami.
Uwaga
Ta zmiana nie wprowadza żadnych zmian zachowania. Użytkownicy, którym wcześniej udzielono opcji Zezwalaj na "Wyklucz z wymuszania zasad", otrzymają opcję Zezwalaj na oba nowe uprawnienia, dzięki czemu będą mogli obaj zastąpić uzupełnianie żądaniami ściągnięcia i wypchnąć bezpośrednio do gałęzi przy użyciu zasad.
Aby uzyskać więcej informacji, zobacz dokumentację Ustawianie uprawnień gałęzi.
Szybkie opisywanie żądań ściągnięcia przy użyciu komunikatów zatwierdzenia
Pisanie opisowych komunikatów zatwierdzenia dodaje wartość do historii dowolnego repozytorium Git. Aby zachęcić do komunikatów zatwierdzenia jakości, nowe żądania ściągnięcia zawierające wiele zatwierdzeń będą wymagały ręcznego wprowadzenia tytułu przez współautorów.
Opisy żądań ściągnięcia będą domyślnie puste, ale nowa funkcja ułatwi dołączenie komunikatów zatwierdzenia z zatwierdzeń żądania ściągnięcia do opisu żądania ściągnięcia. Aby dodać komunikaty zatwierdzenia, po prostu kliknij przycisk Dodaj komunikaty zatwierdzenia, aby dołączyć komunikaty zatwierdzenia na końcu tekstu opisu żądania ściągnięcia.
Tworzenie żądań ściągnięcia bez domyślnego zespołu jako recenzenta
Po pierwszym uruchomieniu środowiska żądania ściągnięcia (PR) myśleliśmy, że warto przypisać wszystkie żądania ściągnięcia do kontekstu zespołu wybranego podczas tworzenia żądania ściągnięcia. To zachowanie było punktem frustracji, ponieważ wiele osób nie zauważyło połączenia między kontekstem zespołu a przypisaniem żądania ściągnięcia.
W ramach nowych zmian nawigacji skorzystaliśmy z okazji zmiany tego domyślnego skojarzenia z zespołami. Zauważysz dwie zmiany:
- Podczas tworzenia żądania ściągnięcia domyślnie nie są dodawani recenzenci. Lista recenzentów ma funkcję ułatwiającą dodawanie osób i grup, które zostały ostatnio dodane do żądania ściągnięcia. Wymagane zasady recenzentów mogą również pomóc zespołom, które chcą mieć pewność, że konkretni recenzenci zostaną dodani do przejrzenia kodu.
- Centrum Żądania ściągnięcia ma nową sekcję z możliwością dostosowywania. Domyślnie w tej sekcji przedstawiono żądania ściągnięcia "Przypisane do moich zespołów", zapewniając równoważne funkcje jako starą sekcję. Jeśli jednak należysz do wielu zespołów, w tej sekcji zostaną wyświetlone żądania ściągnięcia przypisane do dowolnego z zespołów. Sekcja jest również dostosowywalna — wystarczy kliknąć akcję "Dostosuj ten widok" w pobliżu nagłówka sekcji.
Standaryzacja opisów żądań ściągnięcia przy użyciu szablonów
Pisanie dobrych opisów żądań ściągnięcia to doskonały sposób, aby pomóc recenzentom wiedzieć, czego oczekiwać podczas przeglądania kodu. Jest to również doskonały sposób na śledzenie elementów, które należy wykonać dla każdej zmiany, takich jak testowanie, dodawanie testów jednostkowych i aktualizowanie dokumentacji. Wielu z Was prosiło o dodanie szablonów żądań ściągnięcia, aby ułatwić zespołom pisanie wspaniałych opisów, a teraz dodaliśmy tę funkcję.
Oprócz obsługi domyślnego szablonu opisu żądania ściągnięcia zespoły mogą dodawać wiele szablonów, które są prezentowane w menu na stronie tworzenia żądania ściągnięcia. Wystarczy kliknąć przycisk Dodaj szablon, aby wybrać dowolny szablon w repozytorium, aby dołączyć go do opisu żądania ściągnięcia.
Szablony specyficzne dla gałęzi są również obsługiwane, jeśli chcesz zastosować inny szablon dla żądania ściągnięcia do określonej gałęzi lub folderu gałęzi. Jeśli na przykład chcesz mieć szablon specyficzny dla wszystkich gałęzi rozpoczynających się od "poprawka/", możesz dodać szablon, który będzie używany dla wszystkich żądania ściągnięcia do tych gałęzi.
Zapoznaj się z dokumentacją szablonów żądań ściągnięcia, aby dowiedzieć się więcej o tworzeniu i używaniu szablonów.
Zmiana docelowej gałęzi żądania ściągnięcia
W przypadku większości zespołów prawie wszystkie żądania ściągnięcia są kierowane do tej samej gałęzi, takiej jak main
lub develop
. Jednak w przypadku, gdy zachodzi potrzeba kierowania innej gałęzi, łatwo zapomnieć o zmianie gałęzi docelowej z domyślnej. Nowa funkcja umożliwiająca zmianę gałęzi docelowej aktywnego żądania ściągnięcia jest teraz prostą akcją. Wystarczy kliknąć ikonę ołówka w pobliżu nazwy gałęzi docelowej w nagłówku żądania ściągnięcia.
Poza poprawianiem błędów funkcja zmiany gałęzi docelowych ułatwia również "retarget" żądanie ściągnięcia, gdy gałąź docelowa została scalona lub usunięta. Rozważmy scenariusz, w którym istnieje żądanie ściągnięcia przeznaczone dla gałęzi funkcji, która zawiera pewną funkcję, od której zależą zmiany. Chcesz przejrzeć zmiany zależne w izolacji od innych zmian w gałęzi funkcji, więc początkowo jest to element docelowy features/new-feature
. Recenzenci mogą następnie zobaczyć tylko zmiany i pozostawić odpowiednie komentarze.
Teraz zastanów się, co się stanie, gdyby gałąź funkcji miała również aktywne żądanie ściągnięcia i zostało scalone przed main
zmianami? Wcześniej trzeba było porzucić zmiany i utworzyć nowe żądanie ściągnięcia do main
, lub scalić żądanie ściągnięcia z features/new-feature
, a następnie utworzyć kolejne żądanie ściągnięcia z features/new-feature
do .main
Dzięki tej nowej akcji w celu zaktualizowania gałęzi docelowej można po prostu zmienić gałąź docelową żądania ściągnięcia z features/new-feature
na main
, zachowując cały kontekst i komentarze. Zmiana gałęzi docelowej powoduje nawet utworzenie nowej aktualizacji żądania ściągnięcia, co ułatwia przyjrzenie się wcześniejszym różnicom przed zmianą gałęzi docelowej.
Autorzy rozszerzeń mogą wysyłać zapytania kontekstowe dotyczące bieżącego repozytorium
Jednym z wyzwań dla autora rozszerzenia kontroli wersji jest uzyskanie kontekstu repozytorium wyświetlanego użytkownikowi, takiego jak nazwa, identyfikator i adres URL. Aby to ułatwić, dodaliśmy element VersionControlRepositoryService jako usługę dostępną dla rozszerzenia. Dzięki temu autor rozszerzenia może wysyłać zapytania o informacje o bieżącym kontekście repozytorium Git w internetowym interfejsie użytkownika. Obecnie ma jedną metodę getCurrentGitRepository().
- Jeśli wybrano repozytorium Git, obiekt GitRepository jest zwracany z podstawowymi danymi dotyczącymi repozytorium (nazwa, identyfikator i adres URL)
- Jeśli wybrano repozytorium TFVC lub usługa będzie uzyskiwana poza stronami usługi Azure Repos, zostanie zwrócona wartość null.
Oto przykładowe rozszerzenie korzystające z tej usługi.
Pipelines
Zarządzanie potokami kompilacji przy użyciu nowej strony Kompilacje
Wprowadzamy kilka ulepszeń i wprowadzamy nową wersję strony Kompilacje . Ta nowa wersja łączy katalog wszystkich potoków kompilacji i listę bieżących kompilacji, dzięki czemu można szybko poruszać się po kompilacjach projektu, aby zobaczyć ich stan. Zawiera również podgląd analizy testów dla wybranego potoku.
Lepsze zarządzanie wiadomościami e-mail uzupełniania kompilacji i wdrażania przy użyciu ulepszonego formatowania
Wiadomości e-mail dotyczące uzupełniania kompilacji i wdrażania zostały zaktualizowane, aby były bardziej filtrowalne według reguł poczty e-mail. Teraz wiersz tematu zawiera bardziej istotne informacje na pierwszy rzut oka, treść zawiera więcej szczegółów, a ich styl został odświeżony z najnowszą marką.
Elementy nowego formatu to:
[Build result] [pipeline name] - [repository:branch] - [project name] - [commit]
[Deployment result] [pipeline name] > [release name] : [stage name]
Oto kilka przykładów:
[Build succeeded] IdentityService.CI - MyRepo:main - MyProject - d3b90b80
[Deployment succeeded] New release pipeline > NotificationSpecialRelease-1 : Stage 1
Postępuj zgodnie z nową ujednoliconą terminologią usługi Azure Pipelines
W ramach kompilacji i wydań różne terminy były używane historycznie dla podobnych pojęć. W innych przypadkach znaczenia terminów były niejasne. Na przykład, mówiąc różnicę między pulą agentów a kolejką agentów.
Terminologia została ujednolicona w usłudze Azure Pipelines, aby wyjaśnić jej pojęcia. Zostaną wyświetlone następujące ujednolicone terminy:
Poprzedni termin | Ujednolicony termin | Znaczenie |
---|---|---|
Hostowany agent | Agent hostowany przez firmę Microsoft | Agent kompilacji/wydania, który działa w infrastrukturze hostowanej w chmurze zarządzanej przez firmę Microsoft. |
Agent prywatny | Agent hostowany samodzielnie | Agent kompilacji/wydania, który działa na maszynie udostępnionej i zarządzanej przez Ciebie. |
Pula agentów | Pula agentów | Zestaw maszyn agentów na poziomie organizacji, który może uruchamiać kompilacje lub wydania. |
Kolejka agentów | Pula agentów | Zestaw maszyn agentów na poziomie projektu, który może uruchamiać kompilacje lub wydania. Jest ona połączona z pulą agentów na poziomie organizacji. |
Definicja kompilacji | Potok kompilacji | Pełny zestaw kroków kompilacji dla aplikacji. |
Kompilacja | Kompilacja | Wystąpienie potoku kompilacji, które jest uruchomione lub zostało uruchomione. |
Faza | Zadanie | Seria zadań, które są uruchamiane sekwencyjnie lub równolegle na agencie. Potok kompilacji lub wydania może zawierać jedno zadanie lub graf wielu zadań. |
Definicja wydania | Potok wydania | Pełny zestaw kroków wydania dla aplikacji, które mają być wdrażane na różnych etapach. |
Zwolnij | Zwolnij | Wystąpienie potoku wydania, które jest uruchomione lub zostało uruchomione. |
Środowisko | Etap | Jednostka logiczna i niezależna reprezentująca miejsce wdrożenia wydania wygenerowanego z potoku wydania. |
Współbieżne zadanie/potok | Zadanie równoległe | Zadanie równoległe umożliwia uruchamianie pojedynczego zadania kompilacji lub wydania w danej organizacji. W przypadku dostępnych bardziej równoległych zadań można jednocześnie uruchamiać więcej zadań kompilacji i wydawania. |
Punkt końcowy usługi | Połączenie z usługą | Grupa ustawień, takich jak poświadczenia, używana do łączenia się z usługami zewnętrznymi w celu wykonywania zadań w kompilacji lub wydaniu. |
Aby uzyskać więcej informacji, zobacz dokumentację pojęć.
Zarządzanie potokami wydania przy użyciu nowej strony Wydania
Nowe i w pełni przeprojektowane środowisko użytkownika jest dostępne dla strony docelowej wydania. Zobacz listę potoków wydania, które są wydawane często po lewej stronie. Możesz również przeszukiwać potoki i je ulubione.
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 na żywo postępu wdrażania i dostęp jednym kliknięciem w celu uzyskania dalszych szczegółów. Nowy widok wizualizuje potok wydania, co ułatwia zrozumienie, co się dzieje i wyświetla odpowiednie szczegóły i akcje na różnych etapach wydania.
Potok, szczegóły wydania i środowiska
Widok Potok zawiera artefakty wydania i środowiska, w których zostaną wdrożone. Obszar Wydanie zawiera szczegółowe informacje o wersji, takie jak wyzwalacz wydania, wersje artefaktów i tagi.
Środowiska są modelowane w sposób ułatwiający zrozumienie ich stanu wraz ze szczegółowymi postępami. W dowolnym momencie możesz przejść do dzienników, klikając link stanu w środowisku.
Przed wdrożeniem i po wdrożeniu
Jeśli warunki przed wdrożeniem lub po wdrożeniu zostały ustawione dla środowiska, jest on wskazywany na środowisko z obecnością zatwierdzeń i bram. Postęp zatwierdzeń i bram pojawia się również w stanie środowiska. Możesz podjąć akcję lub wyświetlić dalsze szczegóły, klikając ikonę warunku środowiska wiszącą z prawej lub lewej strony środowiska.
Zatwierdzenia i elementy robocze
W każdej nowej wersji można wyświetlić listę skojarzonych zatwierdzeń i elementów roboczych dla każdego środowiska oddzielnie, klikając środowisko. Jeśli lista jest długa, użyj filtrów, aby znaleźć interesujące Cię zatwierdzenie lub element roboczy.
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 usługi Azure DevOps Server 2019 na zadania: Kopiowanie plików maszyny z systemem Windows i program PoweShell na maszynie docelowej
Grupy maszyn w usłudze Test Hub zostały uznane za przestarzałe w programie TFS 2017 RTM. Usługa Grupy maszyn w usłudze Azure DevOps Server 2019 nie jest już dostępna. Będzie to miało wpływ na użytkowników zadania kopiowania plików maszyny z systemem Windows w wersji 1.* i zadania "PowerShell na maszynach docelowych" w wersji 1.*. Aby potoki nadal działały,
- Musisz przełączyć się na zadanie "Kopia pliku maszyny z systemem Windows" w wersji 2.* i podać pełną nazwę fqdn dla maszyny docelowej, a nie tylko nazwę maszyny.
- Przejdź do zadania "Powershell na maszynie docelowej" w wersji 2.* lub nowszej i podaj pełną nazwę fqdn maszyny lub maszyny, a następnie porty zdalnego zarządzania systemem Windows (http/https). Na przykład targetMachine:5985 lub targetMachine:5986
Wyniki testów i rozszerzalność
Wyniki wykonywania testów są również udostępniane dla każdego środowiska. Kliknięcie wyników testu spowoduje otwarcie widoku zawierającego szczegóły testu, w tym wyniki z innych rozszerzeń, które przyczyniają się do procesu.
Istniejące rozszerzenia działają w tym nowym widoku, a ponadto istnieją nowe punkty rozszerzalności umożliwiające opracowywanie rozszerzeń w celu uzyskania jeszcze większej ilości informacji dla środowiska. Aby uzyskać więcej informacji, zobacz dokumentację współtworzenia i rozszerzeń .
Konfigurowanie kompilacji przy użyciu języka YAML
Potoki kompilacji oparte na języku YAML są dostępne na serwerze Usługi Azure DevOps. Zautomatyzuj potok ciągłej integracji przy użyciu pliku YAML zaewidencjonowanego w repozytorium. Pełne odwołanie do schematu YAML można znaleźć tutaj.
Aby bezproblemowo obsługiwać potoki kompilacji oparte na języku YAML, zmieniliśmy domyślne zachowanie wszystkich nowo utworzonych zasobów (np. połączeń usług, grup zmiennych, pul agentów i bezpiecznych plików) do użycia we wszystkich potokach tego projektu. Jeśli chcesz mieć ściślejszą kontrolę nad zasobami, możesz wyłączyć domyślny model autoryzacji (zobacz rysunek poniżej). Gdy to zrobisz, osoba z uprawnieniami do korzystania z zasobu musi jawnie zapisać potok w edytorze internetowym po dodaniu odwołania do zasobu do pliku YAML.
Łączenie powiązanych ze sobą 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. Gdy składnik nadrzędny (na przykład biblioteka) ulegnie zmianie, zależności podrzędne muszą zostać ponownie skompilowane i ponownie wycofane. Zespoły zazwyczaj zarządzają tymi zależnościami ręcznie.
Teraz możesz wyzwolić kompilację po pomyślnym zakończeniu innej kompilacji. Artefakty utworzone przez kompilację nadrzędną można pobrać i użyć w późniejszej kompilacji, a także pobrać dane z tych zmiennych: Build.TriggeredBy.BuildId, Build.TriggeredBy.DefinitionId, Build.TriggeredBy.BuildDefinitionName. Aby uzyskać więcej informacji, zobacz dokumentację wyzwalaczy kompilacji .
Należy pamiętać, że w niektórych przypadkach pojedyncza kompilacja wielofazowa może spełniać Twoje potrzeby. Jednak wyzwalacz ukończenia kompilacji jest przydatny, jeśli wymagania obejmują różne ustawienia konfiguracji, opcje lub inny zespół do posiadania procesu zależnego.
Lokalne aktualizowanie agenta
Zadania instalowane z galerii czasami wymagają nowszej wersji agenta potoków. Jeśli serwer Usługi Azure DevOps może łączyć się z Internetem, nowsze wersje są pobierane automatycznie. Jeśli nie, musisz ręcznie uaktualnić każdego agenta. Począwszy od tej wersji, możesz skonfigurować serwer Usługi Azure DevOps, aby wyszukać pliki pakietu agenta na dysku lokalnym, a nie z Internetu. Zapewnia to zarówno elastyczność, jak i kontrolę nad udostępnianymi wersjami agentów bez konieczności uwidaczniania serwera Usługi Azure DevOps w Internecie.
Adres URL wskaźnika Stanu nowej kompilacji
Znaczki kompilacji osadzone na stronie głównej repozytorium są typowym sposobem wyświetlania kondycji repozytorium. Chociaż do tej pory mieliśmy znaczki kompilacji, było kilka problemów:
- Adres URL nie był intuicyjny
- Znaczek nie był specyficzny dla gałęzi
- Nie było możliwości kliknięcia wskaźnika przez użytkownika, aby pobrać użytkownika do najnowszej kompilacji tej definicji
Teraz wprowadzamy nowy interfejs API dla znaczków kompilacji, które rozwiązuje te problemy. Nowy interfejs API umożliwia użytkownikom publikowanie stanu poszczególnych gałęzi i umożliwia użytkownikom przejście do najnowszej kompilacji wybranej gałęzi. Możesz uzyskać kod Markdown dla nowego adresu URL wskaźnika stanu, wybierając akcję menu Znaczek Stan na nowej stronie Kompilacje.
W celu zapewnienia zgodności z poprzednimi wersjami będziemy nadal honorować starsze adresy URL znaczka kompilacji.
Dodawanie niestandardowych liczników kompilacji do kompilacji
Liczniki kompilacji umożliwiają unikatowe kompilacje liczb i etykiet. Wcześniej można było użyć specjalnej zmiennej $(rev:r), aby to osiągnąć. Teraz możesz zdefiniować własne zmienne licznika w definicji kompilacji, które są automatycznie zwiększane za każdym razem, gdy uruchamiasz kompilację. Można to zrobić na karcie zmiennych definicji. Ta nowa funkcja zapewnia większą moc w następujący sposób:
- Możesz zdefiniować niestandardowy licznik i ustawić jego wartość inicjacji. Na przykład możesz uruchomić licznik o godzinie 100. $(rev:r) zawsze zaczyna się od 0.
- Aby zresetować licznik, możesz użyć własnej logiki niestandardowej. Element $(rev:r) jest powiązany z generowaniem numeru kompilacji i jest resetowany automatycznie za każdym razem, gdy w numerze kompilacji znajduje się nowy prefiks.
- Można zdefiniować wiele liczników na definicję.
- Możesz wykonać zapytanie dotyczące wartości licznika poza kompilacją. Można na przykład policzyć liczbę kompilacji, które zostały uruchomione od ostatniego zresetowania przy użyciu licznika.
Aby uzyskać więcej informacji na temat liczników kompilacji, zobacz dokumentację dotyczącą zmiennych zdefiniowanych przez użytkownika.
Weryfikacje zabezpieczeń i zgodności usługi Azure Policy w usłudze Pipelines
Chcemy zapewnić stabilność i bezpieczeństwo oprogramowania na wczesnym etapie procesu tworzenia oprogramowania, jednocześnie łącząc programowanie, bezpieczeństwo i operacje. W tym celu dodaliśmy obsługę usługi Azure Policy.
Usługa Azure Policy pomaga zarządzać problemami z zasobami IT i zapobiegać im dzięki definicjom zasad wymuszającym reguły i efekty dotyczące zasobów. W przypadku korzystania z usługi Azure Policy zasoby pozostają zgodne ze standardami firmy i umowami dotyczącymi poziomu usług.
Aby zapewnić zgodność z wytycznymi dotyczącymi zgodności i zabezpieczeń w ramach procesu wydania, ulepszyliśmy środowisko wdrażania grupy zasobów platformy Azure. Teraz kończy się niepowodzeniem zadania wdrażania grupy zasobów platformy Azure z odpowiednimi błędami związanymi z zasadami w przypadku naruszeń podczas wdrażania szablonów usługi ARM.
Ponadto dodaliśmy szablon definicji wydania usługi Azure Policy. Umożliwi to użytkownikom tworzenie zasad platformy Azure i przypisywanie tych zasad do zasobów, subskrypcji lub grup zarządzania z samej definicji wydania.
Kompilowanie na 32-bitowych platformach Linux/ARM oraz Windows
Agent typu open source usługi Azure Pipelines dla wielu platform zawsze był obsługiwany w 64-bitowych systemach Windows, macOS i Linux. W tej wersji wprowadzamy dwie nowe obsługiwane platformy: Linux/ARM i Windows/32-bitowe. Te nowe platformy umożliwiają budowanie na mniej popularnych platformach, ale nie mniej ważnych, takich jak Raspberry Pi, maszyna z systemem Linux/ARM.
Ulepszone środowiska testów w potokach
Karta Testy ma teraz nowoczesne środowisko, które zapewnia zaawansowane informacje o teście kontekstowym dla potoków. Nowe środowisko zapewnia widok testu w toku, pełne środowisko debugowania strony, w historii testów kontekstowych, raportowanie przerwanego wykonywania testu i podsumowanie poziomu przebiegu.
Wyświetlanie wykonywania testów w toku
Testy, takie jak integracja i testy funkcjonalne, mogą być uruchamiane przez długi czas, dlatego ważne jest, aby w danym momencie zobaczyć wykonywanie testów. W widoku testu w toku nie trzeba już czekać na ukończenie wykonywania testu, aby poznać wynik testu. Wyniki są dostępne niemal w czasie rzeczywistym, ponieważ są uruchamiane, co ułatwia szybsze wykonywanie akcji. Możesz debugować błąd lub przerwać, zgłosić usterkę lub przerwać potok. Funkcja jest obecnie dostępna zarówno dla potoku kompilacji, jak i wydania przy użyciu zadania testowego programu VS w fazie multi agenta, przy użyciu zadania Publikuj wyniki testu lub publikowania wyników testów przy użyciu interfejsów API. W przyszłości planujemy rozszerzyć to środowisko na potrzeby wykonywania testów przy użyciu pojedynczego agenta.
W poniższym widoku przedstawiono podsumowanie testu w toku w nowym widoku postępu wydania, raportowanie łącznej liczby testów i liczby niepowodzeń testów w danym punkcie w czasie.
Klikając powyższe podsumowanie testu w toku, możesz wyświetlić szczegółowe podsumowanie testu wraz z informacjami o niepomyślnym lub przerwanym teście w planach testów. Podsumowanie testu jest odświeżane w okresowych odstępach czasu z możliwością odświeżania widoku szczegółów na żądanie na podstawie dostępności nowych wyników.
Wyświetlanie szczegółów debugowania przebiegu testu na pełnej stronie
Komunikaty o błędach i ślady stosu są w naturze długie i wymagają wystarczającej ilości nieruchomości, aby wyświetlić szczegóły podczas debugowania. Aby korzystać ze środowiska debugowania immersywnego, możesz teraz rozwinąć widok testu lub przebiegu testu do widoku pełnej strony, jednocześnie będąc w stanie wykonać wymagane operacje kontekstowe, takie jak tworzenie usterek lub skojarzenie wymagań dla bieżącego wyniku testu.
Wyświetlanie historii testów w kontekście
W przeszłości zespoły musiałyby przejść do centrum Uruchomienia , aby wyświetlić historię wyniku testu. Nowe środowisko umożliwia wprowadzenie historii testów w kontekście na karcie Plany testów na potrzeby kompilacji i wydania. Informacje o historii testów są udostępniane w sposób progresywny, począwszy od bieżącej definicji kompilacji lub środowiska dla wybranego testu, a następnie innych gałęzi i środowisk dla kompilacji i wydania odpowiednio.
Wyświetlanie przerwanych testów
Wykonanie testu może zostać przerwane z wielu powodów, takich jak zły kod testowy, źródło w ramach testu i problemy środowiskowe. Niezależnie od przyczyny przerwania ważne jest, aby zdiagnozować zachowanie i zidentyfikować główną przyczynę. Teraz możesz wyświetlić przerwane testy i przebiegi testów wraz z ukończonych przebiegów w planach testów. Funkcja jest obecnie dostępna dla potoku kompilacji i wydania przy użyciu zadania testowego programu VS w fazie multi agenta lub publikowania wyników testów przy użyciu interfejsów API. W przyszłości planujemy rozszerzyć to środowisko na potrzeby wykonywania testów przy użyciu pojedynczego agenta.
Obsługa funkcji śledzenia testów i środowisk wydania w historii testów
Dodajemy obsługę wyświetlania historii zautomatyzowanego testu pogrupowanego według różnych środowisk wydania, w których jest uruchamiany test. Jeśli modelujesz środowiska wydania jako potoki wydania lub środowiska testowe i uruchamiasz testy w takich środowiskach, możesz sprawdzić, czy test przechodzi w środowisku deweloperskim, ale kończy się niepowodzeniem w środowisku integracji. Możesz dowiedzieć się, czy przechodzi w angielskich ustawieniach regionalnych, ale kończy się niepowodzeniem w środowisku, które ma tureckie ustawienia regionalne. Dla każdego środowiska znajdziesz stan najnowszego wyniku testu, a jeśli test zakończył się niepowodzeniem w tym środowisku, znajdziesz również wydanie, od którego test zakończył się niepowodzeniem.
Przejrzyj podsumowane wyniki testu
Podczas wykonywania testu test może zduplikować wiele wystąpień testów, które przyczyniają się do ogólnego wyniku. Oto kilka przykładów: testy, które są uruchamiane ponownie z powodu awarii, testy składające się z uporządkowanej kombinacji innych testów (np. uporządkowanego testu) lub testów mających różne wystąpienia na podstawie podanego parametru wejściowego (testy oparte na danych). Ponieważ te testy są powiązane, muszą być zgłaszane wraz z ogólnym wynikiem uzyskanym na podstawie poszczególnych wyników testu. Dzięki tej aktualizacji wprowadzimy ulepszoną wersję wyników testów przedstawionych jako hierarchia na karcie Testy w wersji. Spójrzmy na przykład.
Wcześniej wprowadziliśmy możliwość ponownego uruchamiania testów, które zakończyły się niepowodzeniem w zadaniu VS Test . Jednak zgłosiliśmy tylko ostatnią próbę testu, która nieco ograniczyła użyteczność tej funkcji. Teraz rozszerzyliśmy tę funkcję, aby zgłosić każde wystąpienie wykonania testu jako próbę. Ponadto interfejs API usługi Test Management obsługuje teraz możliwość publikowania wyników testów hierarchicznych i wykonywania zapytań. Aby uzyskać więcej informacji, zobacz dokumentację interfejsu API wyników testów.
Uwaga
Metryki w sekcji podsumowania testu (np. Łączna liczba testów, Powodzenie itp.) są obliczane przy użyciu poziomu głównego hierarchii, a nie każdej pojedynczej iteracji testów.
Wyświetlanie analizy testów w usłudze Pipelines
Śledzenie jakości testów w czasie i poprawianie zabezpieczeń testów jest kluczem do utrzymania potoku w dobrej kondycji. Funkcja analizy testów zapewnia niemal rzeczywisty wgląd w dane testowe na potrzeby kompilacji i potoków wydania. Pomaga to zwiększyć wydajność potoku, identyfikując powtarzające się, wysokiej jakości problemy z jakością.
Wyniki testów można grupować według różnych elementów, identyfikować kluczowe testy dla gałęzi lub plików testowych albo przechodzić do szczegółów określonego testu, aby wyświetlić trendy i zrozumieć problemy z jakością, takie jak flakiness.
Wyświetl analizę testów dla kompilacji i wydań, wersja zapoznawcza poniżej:
Więcej informacji można znaleźć w naszej dokumentacji.
Upraszczanie definicji za pomocą wielu zadań bez agenta
Zadania w fazie bez agenta są orkiestrowane i wykonywane na serwerze. Fazy bez agenta nie wymagają agenta ani żadnych komputerów docelowych. W przeciwieństwie do faz agenta tylko jedno zadanie można dodać do każdej fazy bez agenta w definicjach. Oznaczało to, że wiele faz musiało zostać dodanych, gdy w procesie było więcej niż jedno zadanie bez agenta, dzięki czemu definicja jest zbiorcza. To ograniczenie zostało złagodzone, co pozwala zachować wiele zadań w fazach bez agenta. Zadania w tej samej fazie będą wykonywane sekwencyjnie, podobnie jak w przypadku faz agenta. Aby uzyskać więcej informacji, zobacz dokumentację faz serwera.
Stopniowo uwidaczniaj wdrożenia i fazy przy użyciu bram wydań
Za pomocą bram wydania można określić kryteria kondycji aplikacji, które muszą zostać spełnione przed podwyższeniem poziomu wydania do następnego środowiska. Wszystkie określone bramy są okresowo oceniane przed lub po każdym wdrożeniu, dopóki nie zostaną wykonane pomyślnie. Cztery typy bram są dostępne w pudełku i można dodać więcej bram z witryny Marketplace. Będzie można przeprowadzić inspekcję, że zostały spełnione wszystkie niezbędne kryteria wdrożenia. Zobacz dokumentację wydań bram, aby uzyskać więcej informacji.
Wstrzymaj wdrożenia, dopóki bramy nie powiedzą się spójnie
Bramy wydania umożliwiają automatyczną ocenę kryteriów kondycji przed podwyższeniem poziomu wydania do następnego środowiska. Domyślnie wydanie jest wykonywane po otrzymaniu jednego pomyślnego przykładu dla wszystkich bram. Nawet jeśli brama jest niekonsekwentna, a odebrana próbka zakończy się niepowodzeniem, wyzwalany jest komunikat. Aby uniknąć tego typu problemów, możesz teraz skonfigurować wydanie, aby zweryfikować spójność kondycji przez minimalny czas trwania przed postępem. W czasie wykonywania wydanie zapewniłoby pomyślne kolejne oceny bram przed zezwoleniem na podwyższenie poziomu. Łączny czas oceny zależy od "czasu między ponowną oceną" i zwykle będzie większy niż skonfigurowany minimalny czas trwania. Aby uzyskać więcej informacji, zobacz dokumentację Kontrola wdrażania wydania przy użyciu bram .
Automatyczne wdrażanie w nowych miejscach docelowych w grupie wdrażania
Wcześniej, gdy nowe cele zostały dodane do grupy wdrożenia, wymagane było ręczne wdrożenie, aby upewnić się, że wszystkie obiekty docelowe mają tę samą wersję. Teraz możesz skonfigurować środowisko tak, aby automatycznie wdrażało ostatnią pomyślną wersję do nowych obiektów docelowych. Aby uzyskać więcej informacji, zobacz dokumentację grupy wdrożeń.
Ciągłe wdrażanie kompilacji oznaczonych przez przetwarzanie po kompilacji
Wyzwalacze ciągłego wdrażania tworzą wydanie po zakończeniu kompilacji. Jednak czasami kompilacje są przetwarzane po przetworzeniu, a kompilacja powinna zostać wydana tylko po zakończeniu tego przetwarzania. Teraz możesz wykorzystać tagi kompilacji, które zostaną przypisane podczas przetwarzania końcowego, w filtrach wyzwalacza wydania.
Ustawianie zmiennej w czasie wydania
W definicji wydania możesz 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 task.json przekazać zmienne środowiskowe do zadań. Gdy to zrobisz, dodatkowa kontrolka jest renderowana na zadaniu w edytorze kompilacji. Jest to dostępne dla zadań programu PowerShell, cmd i powłoki Bash .
Umożliwia to dwa scenariusze:
- Zadanie wymaga zmiennej środowiskowej z zachowaną wielkością liter w nazwie zmiennej. Na przykład w powyższym przykładzie zmienna środowiskowa przekazywana do zadania to "foo", a nie "FOO".
- Umożliwia przekazywanie wartości wpisów tajnych w bezpieczny sposób do skryptów. Jest to preferowane przekazywanie wpisów tajnych jako argumentów do skryptów, ponieważ system operacyjny na agencie może rejestrować wywołanie procesów, w tym ich argumenty.
Klonowanie grup zmiennych
Dodaliśmy obsługę klonowania grup zmiennych. Zawsze, gdy chcesz replikować grupę zmiennych i po prostu zaktualizować kilka zmiennych, nie musisz przechodzić przez żmudny proces dodawania zmiennych jeden po drugim. Teraz możesz szybko utworzyć kopię grupy zmiennych, odpowiednio zaktualizować wartości i zapisać ją jako nową grupę zmiennych.
Uwaga
Wartości zmiennych tajnych nie są kopiowane podczas klonowania grupy zmiennych. Należy zaktualizować zaszyfrowane zmienne, a następnie zapisać sklonowaną grupę zmiennych.
Ignoruj bramę wydania dla wdrożenia
Bramy wydania umożliwiają automatyczną ocenę kryteriów kondycji przed podwyższeniem poziomu wydania do następnego środowiska. Domyślnie potok wydania postępuje tylko wtedy, gdy wszystkie bramy są w dobrej kondycji w tym samym czasie. W niektórych sytuacjach, takich jak w przypadku przyspieszenia wydania lub po ręcznym sprawdzeniu kondycji, osoba zatwierdzająca może chcieć zignorować bramę i zezwolić na postęp wydania, nawet jeśli ta brama nie ma jeszcze oceny jako dobrej kondycji. Dokumentacja bram wydania zawiera więcej informacji.
Wykonywanie dodatkowych testów przy użyciu wyzwalacza wydania żądania ściągnięcia
Udało Ci się wyzwolić kompilację na podstawie żądania ściągnięcia i uzyskać te szybkie opinie przed scaleniem przez pewien czas. Teraz możesz również skonfigurować wyzwalacz żądania ściągnięcia dla wydania. Stan wydania zostanie opublikowany z powrotem do repozytorium kodu i będzie widoczny bezpośrednio na stronie żądania ściągnięcia. Jest to przydatne, jeśli chcesz wykonać dodatkowe testy funkcjonalne lub ręczne w ramach przepływu pracy żądania ściągnięcia.
Tworzenie połączenia usługi platformy Azure z jednostką usługi uwierzytelnianego przy użyciu certyfikatu
Teraz można zdefiniować połączenie usługi platformy Azure z jednostką usługi i certyfikatem na potrzeby uwierzytelniania. Dzięki połączeniu usługi platformy Azure obsługującemu teraz jednostkę usługi, która uwierzytelnia się przy użyciu certyfikatu, można teraz wdrożyć w usłudze Azure Stack skonfigurowanym za pomocą usług AD FS. Aby utworzyć jednostkę usługi z uwierzytelnianiem certyfikatu, zapoznaj się z artykułem dotyczącym tworzenia jednostki usługi uwierzytelnianej przy użyciu certyfikatu.
Obsługa funkcji uruchamiania za pomocą pakietu we wdrożeniach usługi Azure App Service
Wersja zadania aplikacja systemu Azure Service Deploy (4.*) obsługuje teraz polecenie RunFromPackage (wcześniej o nazwie RunFromZip).
Usługa App Service obsługuje wiele różnych technik wdrażania plików, takich jak msdeploy (aka WebDeploy), git, ARM i inne. Jednak wszystkie te techniki mają ograniczenie. Pliki są wdrażane w folderze wwwroot (w szczególności d:\home\site\wwwroot), a następnie w środowisku uruchomieniowym są uruchamiane pliki z tego miejsca.
W przypadku uruchamiania z pakietu nie ma już kroku wdrażania, który kopiuje poszczególne pliki do katalogu wwwroot. Zamiast tego wystarczy wskazać plik zip, a plik zip zostanie zainstalowany na wwwroot jako system plików tylko do odczytu. Ma to kilka korzyści:
- Zmniejsza ryzyko problemów z blokowaniem kopiowania plików.
- Można wdrożyć w aplikacji produkcyjnej (z ponownym uruchomieniem).
- Możesz mieć pewność, że pliki są uruchomione w aplikacji.
- Zwiększa wydajność wdrożeń usługi aplikacja systemu Azure Service.
- Może skrócić czasy zimnego uruchamiania, szczególnie w przypadku funkcji Języka JavaScript z dużymi drzewami pakietów npm.
Wdrażanie kontenerów systemu Linux za pomocą zadania wdrażania serwera aplikacji
Wersja 4.* zadania aplikacja systemu Azure Service Deploy obsługuje teraz wdrażanie własnego kontenera niestandardowego w usłudze Azure Functions w systemie Linux.
Model hostingu systemu Linux dla usługi Azure Functions jest oparty na kontenerach platformy Docker, co zapewnia większą elastyczność w zakresie tworzenia pakietów i korzystania z zależności specyficznych dla aplikacji. Funkcje w systemie Linux mogą być hostowane w 2 różnych trybach:
- Wbudowany obraz kontenera: udostępniasz kod aplikacji funkcji, a platforma Azure udostępnia kontener (wbudowany tryb obrazu) i zarządza nim, więc nie jest wymagana żadna wiedza związana z platformą Docker. Jest to obsługiwane w istniejącej wersji zadania Wdrażania usługi App Service.
- Niestandardowy obraz kontenera: ulepszyliśmy zadanie Wdrażanie usługi App Service w celu obsługi wdrażania niestandardowych obrazów kontenerów w usłudze Azure Functions w systemie Linux. Jeśli funkcje wymagają określonej wersji językowej lub wymagają określonej zależności lub konfiguracji, która nie jest podana na wbudowanym obrazie, możesz utworzyć i wdrożyć obraz niestandardowy w funkcji platformy Azure w systemie Linux przy użyciu usługi Azure Pipelines.
Zadanie Xcode obsługuje nowo wydane środowisko Xcode 10
Ukończanie wydania programu Xcode 10 przez firmę Apple, można teraz ustawić projekty tak, aby kompilować lub testować je specjalnie z programem Xcode 10. Potok może również uruchamiać zadania równolegle z macierzą wersji programu Xcode. Do uruchamiania tych kompilacji można użyć puli agentów systemu macOS hostowanej przez firmę Microsoft. Zapoznaj się ze wskazówkami dotyczącymi używania środowiska Xcode w usłudze Azure Pipelines.
Usprawnij wdrażanie na platformie Kubernetes przy użyciu programu Helm
Helm to narzędzie usprawniające instalowanie aplikacji Kubernetes i zarządzanie nimi. Zyskała również dużą popularność i wsparcie społeczne w ciągu ostatniego roku. Zadanie programu Helm w wersji jest teraz dostępne do tworzenia pakietów i wdrażania pakietów Helm w usłudze Azure Container Service (AKS) lub w innym klastrze Kubernetes.
Po dodaniu tego zadania programu Helm można teraz skonfigurować potok ciągłej integracji/ciągłego wdrażania oparty na programie Helm na potrzeby dostarczania kontenerów do klastra Kubernetes. Aby uzyskać więcej informacji, zobacz dokumentację Deploy using Kubernetes to Azure Container Service (Wdrażanie przy użyciu rozwiązania Kubernetes w usłudze Azure Container Service ).
Kontrolowanie wersji programu Helm używanej w wersji
Zadanie Instalatora narzędzia Helm uzyskuje określoną wersję programu Helm z Internetu lub pamięci podręcznej narzędzi i dodaje ją do ścieżki agenta (hostowanego lub prywatnego). To zadanie umożliwia zmianę wersji programu Helm używanej w kolejnych zadaniach, takich jak zadanie interfejsu wiersza polecenia platformy .NET Core. Dodanie tego zadania przed zadaniem Helm Deploy w definicji kompilacji lub wydania gwarantuje, że pakujesz i wdrażasz aplikację przy użyciu odpowiedniej wersji programu Helm. To zadanie pomaga również w opcjonalnym instalowaniu narzędzia kubectl , które jest wymaganiem wstępnym, aby program Helm działał.
Ciągłe wdrażanie w usłudze Azure Database for MySQL
Teraz możesz stale wdrażać w usłudze Azure Database for MySQL — baza danych MySQL platformy Azure jako usługa. Zarządzanie plikami skryptów MySQL w kontroli wersji i ciągłe wdrażanie w ramach potoku wydania przy użyciu natywnego zadania, a nie skryptów programu PowerShell.
Korzystanie z ulepszonych zadań opartych na zdalnym programie PowerShell systemu Windows
Dostępne są nowe i ulepszone zadania zdalne programu Windows PowerShell. Te ulepszenia obejmują kilka poprawek wydajności i obsługę dzienników na żywo i poleceń wyjściowych konsoli, takich jak Write-Host i Write-Output.
Program PowerShell w zadaniu docelowym (wersja: 3.*): Możesz dodać skrypt wbudowany, zmodyfikować opcje PSSession, kontrolować "ErrorActionPreference" i zakończyć się niepowodzeniem w przypadku błędu standardowego.
Zadanie kopiowania plików platformy Azure (wersja: 2.*): Dostarczane z najnowszym narzędziem AzCopy (wersja 7.1.0), które rozwiązuje problem z usługą GitHub.
Filtrowanie gałęzi dla usługi GitHub Enterprise lub zewnętrznych artefaktów git
Podczas wydawania z repozytoriów GitHub Enterprise lub zewnętrznych repozytoriów Git można teraz skonfigurować określone gałęzie, które zostaną wydane. Na przykład możesz chcieć wdrożyć tylko kompilacje pochodzące z określonej gałęzi do środowiska produkcyjnego.
Tworzenie aplikacji napisanych w języku Go
Użyj zadania Instalatora narzędzi języka Go, aby zainstalować co najmniej jedną wersję narzędzia Go Na bieżąco. To zadanie uzyskuje określoną wersję narzędzia Go Wymagane przez projekt i dodaje je do ścieżki agenta kompilacji. Jeśli docelowa wersja narzędzia Języka Go jest już zainstalowana na agencie, to zadanie pominie proces pobierania i instalowania go ponownie.
Zadanie Go ułatwia pobieranie zależności, kompilowanie lub testowanie aplikacji. Możesz również użyć tego zadania, aby uruchomić wybrane niestandardowe polecenie Języka Go.
Uruchamianie wbudowanych lub opartych na plikach skryptów języka Python w potoku
Nowe zadanie skryptu języka Python upraszcza uruchamianie skryptów języka Python w potoku. Zadanie spowoduje uruchomienie skryptu z pliku języka Python (.py) w repozytorium lub ręczne wprowadzenie skryptu w ustawieniach zadania w celu zapisania w ramach potoku. Zadanie będzie używać wersji języka Python w ścieżce lub można określić ścieżkę bezwzględną do interpretera języka Python do użycia.
Korzystanie z ulepszonych danych wyjściowych kompilacji i testowania kodu Xcode z platformy xcpretty
xcpretty zwiększa czytelność danych wyjściowych xcodebuild i generuje wyniki testu w formacie JUnit. Zadanie kompilacji Xcode używa teraz automatycznie środowiska xcpretty, gdy jest on dostępny na maszynie agenta, ponieważ jest on hostowany agentów systemu macOS. Chociaż dane wyjściowe xcpretty mogą być inne i mniej pełne niż dane wyjściowe xcodebuild, udostępniamy pełne dzienniki xcodebuild dla każdej kompilacji.
Test Plans
Klient modułu uruchamiającego testy testowe (Plany testów platformy Azure) do uruchamiania testów ręcznych dla aplikacji klasycznych
Teraz możesz użyć klienta modułu uruchamiającego testy (Azure Test Plans) do uruchamiania testów ręcznych dla aplikacji klasycznych. Pomoże to przejść z programu Microsoft Test Manager do planów testów platformy Azure. Zapoznaj się z naszymi wskazówkami tutaj. Korzystając z klienta modułu uruchamiającego testy testowe, możesz uruchamiać testy ręczne i rejestrować wyniki testów dla każdego kroku testu. Masz również możliwości zbierania danych, takie jak zrzut ekranu, dziennik akcji obrazu i nagrywanie wideo audio. Jeśli podczas testowania wystąpi problem, użyj modułu uruchamiającego testy, aby utworzyć usterkę z krokami testowymi, zrzutami ekranu i komentarzami automatycznie uwzględninymi w usterce.
Moduł uruchamiający testy (Plany testów platformy Azure) wymaga jednorazowego pobierania i instalowania modułu uruchamiającego testy. Wybierz pozycję Uruchom dla aplikacji klasycznej, jak pokazano poniżej.
Artifacts
Źródła nadrzędne
Usługa Azure DevOps Server 2019 udostępnia istotne aktualizacje źródeł nadrzędnych dostępnych w źródłach danych usługi Azure Artifacts:
- Możesz dodać nuget.org nadrzędne źródła do istniejących źródeł utworzonych w poprzednich wersjach serwera TFS. Poszukaj baneru nad pakietami kanału informacyjnego, aby uzyskać więcej informacji, w tym zmiany zachowania, o których należy pamiętać przed uaktualnieniem.
- Do kanału informacyjnego można dodawać inne źródła danych usługi Azure DevOps Server, co oznacza, że możesz używać pakietów NuGet i npm z tych kanałów informacyjnych za pośrednictwem kanału informacyjnego.
Wprowadziliśmy również nową rolę w usłudze Azure Artifacts: "Współpracownicy". Współpracownik może zapisywać pakiety ze źródła nadrzędnego, ale nie może publikować pakietów bezpośrednio w kanale informacyjnym (np. przy użyciu funkcji publikowania nuget). Dzięki temu można ograniczyć publikowanie pakietów do zaufanego użytkownika lub systemu kompilacji, umożliwiając inżynierom korzystanie z nowych pakietów ze źródeł nadrzędnych.
Obserwowanie pakietów
Ułatwiliśmy jeszcze łatwiejsze konfigurowanie powiadomień za pomocą nowego przycisku Obserwuj bezpośrednio w każdym pakiecie. Przycisk Obserwuj jest również zgodny z widokami wersji. Jeśli obserwujesz pakiet podczas przeglądania go za pośrednictwem widoku, będziesz otrzymywać tylko aktualizacje dla nowych wersji, które są promowane do tego widoku.
Zmienianie ustawień kanału informacyjnego bez konieczności ręcznego zapisywania
Ulepszono kilka interakcji na stronie ustawień kanału informacyjnego. Teraz wprowadzane zmiany, takie jak dodawanie nadrzędnego lub uprawnienia, są zapisywane natychmiast. Oznacza to, że nie musisz martwić się o utratę zmian podczas przełączania się między przestawami ustawień.
Uproszczenie uwierzytelniania przy użyciu nowego, międzyplatformowego dostawcy poświadczeń dla pakietów NuGet
Interakcja z uwierzytelnionymi kanałami informacyjnymi NuGet po prostu znacznie się poprawiła. Nowy dostawca poświadczeń usługi Azure Artifacts oparty na platformie .NET Core współpracuje z oprogramowaniem msbuild, dotnet i nuget(.exe) w systemach Windows, macOS i Linux. Za każdym razem, gdy chcesz używać pakietów ze źródła danych usługi Azure Artifacts, dostawca poświadczeń automatycznie uzyska i zapisze token w imieniu używanego klienta NuGet. Nie trzeba już ręcznie przechowywać tokenu i zarządzać nim w pliku konfiguracji.
Aby uzyskać nowego dostawcę, przejdź do witryny GitHub i postępuj zgodnie z instrukcjami dotyczącymi klienta i platformy.
Kompresowanie symboli podczas publikowania w udziale plików
Zaktualizowaliśmy zadanie Indeksowanie i publikowanie symboli, aby obsługiwać kompresowanie symboli po opublikowaniu ich w udziale plików.
Witryna Wiki
Publikowanie plików markdown z repozytorium Git jako witryny typu wiki
Deweloperzy tworzą dokumentację dla "interfejsów API", "zestawów SDK" i "pomocników wyjaśniających kod" w repozytoriach kodu. Następnie czytelnicy muszą przesiewać kod, aby znaleźć odpowiednią dokumentację. Teraz możesz po prostu opublikować pliki markdown z repozytoriów kodu i hostować je w witrynie Wiki.
W witrynie Wiki zacznij od kliknięcia pozycji Opublikuj kod jako witrynę typu wiki. Następnie możesz określić folder w repozytorium Git, który ma zostać podwyższony.
Po kliknięciu pozycji Publikuj wszystkie pliki markdown w wybranym folderze zostaną opublikowane jako witryna typu wiki. Spowoduje to również mapowania nagłówka gałęzi na witrynę typu wiki, aby wszelkie zmiany wprowadzone w repozytorium Git zostały natychmiast odzwierciedlone.
Aby uzyskać więcej informacji, zobacz wpis w blogu dokumentacji produktu.
Łą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ąć 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 z znakami specjalnymi, takimi jak : < > * ? | -
. Teraz strony z tytułami takimi jak "Często zadawane pytania?" Lub "Przewodnik konfigurowania" można utworzyć w witrynie Typu Wiki. Następujące znaki są tłumaczone na ciągi zakodowane w formacie UTF-8:
Znak | Zakodowany ciąg |
---|---|
: | %3A |
< | %3C |
> | %3E |
* | %2A |
? | %3F |
| | %7C |
- | %2D |
Wyświetlanie uszkodzonych łączy
Wszystkie linki w witrynie typu wiki, które nie są poprawnie połączone, będą wyświetlane w odrębnym kolorze czerwonym i przerwanym ikonie linku, co daje wizualną wskazówkę dotyczącą wszystkich uszkodzonych linków na stronie typu wiki.
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ć linki do strony z innych stron i elementów roboczych. Teraz możesz sprawdzić i naprawić linki przed ich uszkodzeniem.
Ważne
Pamiętaj, aby użyć []()
składni języka znaczników markdown dla linków na stronach i typu linku strony typu wiki w elementach roboczych, aby umożliwić witrynie Typu Wiki znajdowanie i naprawianie tych potencjalnie uszkodzonych linków. Adresy URL i hiperlinki zwykłego tekstu w elementach roboczych nie będą pobierane przez tę funkcję.
Po zmianie nazwy lub przeniesieniu strony zostanie wyświetlony monit o sprawdzenie, czy nie ma to wpływu na łącza bezwzględne lub względne.
Przed podjęciem akcji zostanie wyświetlona lista linków strony i elementów roboczych, których dotyczy problem.
Tworzenie spisu treści dla stron typu wiki
Czasami strony typu wiki mogą być długie, z zawartością zorganizowaną w kilka nagłówków. Teraz możesz dodać spis treści do dowolnej strony zawierającej co najmniej jeden nagłówek przy użyciu [[_TOC_]]
składni.
Spis treści 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ę ze wskazówkami dotyczącymi języka Markdown.
Metadane urządzenia Surface dla stron typu wiki i podglądu kodu przy użyciu tagów YAML
Dodanie metadanych do dokumentacji może ułatwić czytelnikom i indeksom wyszukiwania pobieranie i uwidoczanie istotnej zawartości. W tej aktualizacji każdy plik zawierający blok YAML na początku pliku zostanie przekształcony w tabelę metadanych z jedną głową i jednym wierszem. Blok YAML musi mieć postać prawidłowego zestawu YAML między liniami potrójną kreską. Obsługuje wszystkie podstawowe typy danych, listę, obiekt jako wartość. Składnia jest obsługiwana w wersji zapoznawczej plików typu wiki i kodu.
Przykład tagów YAML:
---
tag: post
title: Hello world
---
Przykład tagów YAML z listą:
---
tags:
- post
- code
- web
title: Hello world
---
Publikowanie kodu jako wiki z uprawnieniami Współtworzenie
Wcześniej tylko użytkownicy z uprawnieniem Tworzenie repozytorium git mogli publikować kod jako wiki. Sprawiło to, że administratorzy repozytorium lub twórcy stanowili wąskie gardło dla wszystkich żądań publikowania plików markdown hostowanych w repozytoriach git jako witryn typu wiki. Teraz możesz opublikować kod jako witrynę typu wiki , jeśli masz tylko uprawnienie Współtworzenie w repozytorium kodu.
Raportowanie
Rozszerzenie platformy handlowej analizy na potrzeby raportowania jest teraz dostępne
Rozszerzenie Analytics Marketplace jest teraz dostępne dla usługi Azure DevOps Server. Analiza to przyszłość raportowania dla usług Azure DevOps i Azure DevOps Server. Zainstalowanie rozszerzenia Analiza zapewnia zaawansowane widżety, integrację usługi Power BI i dostęp OData.
Aby uzyskać więcej informacji, zobacz Co to jest analiza i plan raportowania. Analiza jest dostępna w publicznej wersji zapoznawczej. Obecnie zawiera dane dotyczące tablic i wyników testów automatycznych za pośrednictwem potoków. Zobacz Dane dostępne w usłudze Analytics.
Badanie historii kompilacji za pomocą nowego widżetu pulpitu nawigacyjnego kompilacji
Mamy nowy i ulepszony widżet historii kompilacji, który można dodać do pulpitów nawigacyjnych. Za pomocą tego widżetu można teraz wyświetlić historię kompilacji z określonej gałęzi na pulpicie nawigacyjnym i skonfigurować ją w projekcie publicznym dla anonimowych odwiedzających.
Ważne
Jeśli szukasz szczegółowych informacji na temat kompilacji XAML, kontynuuj korzystanie ze starszego widżetu i przeczytaj o migracji z kompilacji XAML do nowych kompilacji. W przeciwnym razie zalecamy przejście do nowszego widżetu.
Opinia
Chcemy poznać Twoje zdanie! Możesz zgłosić problem lub podać pomysł i śledzić go za pośrednictwem społeczności deweloperów i uzyskać porady na temat stack Overflow.