Udostępnij za pośrednictwem


Informacje o wersji usługi Azure DevOps Server 2022 Update 2


| Wymagania systemowe społeczności deweloperów i zgodność | postanowienia licencyjne DevOps | Blog | SHA-256 Skróty SHA-256 | |


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 Server, odwiedź stronę pobierania usługi Azure DevOps Server.

Bezpośrednie uaktualnienie do usługi Azure DevOps Server 2022 Update 2 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 2013 lub starszym, przed uaktualnieniem do usługi Azure DevOps Server 2022 należy wykonać pewne kroki tymczasowe. Aby uzyskać więcej informacji, zobacz stronę Instalowanie.


Azure DevOps Server 2022 Update 2 Patch 2 — data wydania: 12 listopada 2024 r.

Plik Skrót SHA-256
devops2022.2patch2.exe 70930BE091607B490890A48C250DAB6C2087F7F610CC695C9C632C679A491D23

Opublikowaliśmy poprawkę 2 dla usługi Azure DevOps Server 2022 Update 2, aby uwzględnić uaktualnienie do zależności podatnej na zagrożenia.

Azure DevOps Server 2022.2 RTW Data wydania: 9 lipca 2024 r.

Podsumowanie nowości w usłudze Azure DevOps Server 2022.2 RTW

Uwaga

Opublikowaliśmy ponownie usługę Azure DevOps Server 2022.2, aby rozwiązać problem z ładowaniem nazw usługi Teams. Problem został zgłoszony w wpisie w blogu Azure DevOps Server 2022.2 RTW. Jeśli zainstalowano wersję programu Azure DevOps Server 2022.2 wydaną 9 lipca, możesz zainstalować poprawkę 1 dla usługi Azure DevOps Server 2022.2 , aby rozwiązać ten problem. Poprawka 1 nie jest wymagana, jeśli instalujesz program Azure DevOps Server 2022.2 po raz pierwszy od czasu zaktualizowania linków pobierania w celu uwzględnienia poprawki.

Usługa Azure DevOps Server 2022.2 RTW to zestawienie poprawek błędów. Obejmuje ona wszystkie funkcje w wcześniej wydanym programie Azure DevOps Server 2022.2 RC. Serwer Azure DevOps Server 2022.2 można zainstalować bezpośrednio lub uaktualnić z programu Azure DevOps Server 2020, 2019 lub Team Foundation Server 2015 lub nowszego. Następujące problemy i luki w zabezpieczeniach zostały rozwiązane w tej wersji:

  • CVE-2024-35266: Luka w zabezpieczeniach dotycząca fałszowania serwera Azure DevOps
  • CVE-2024-35267: Luka w zabezpieczeniach dotycząca fałszowania serwera Azure DevOps
  • Bilet opinii społeczności deweloperów: wersja agenta nie jest aktualizowana po uaktualnieniu do usługi Azure DevOps Server 2022.1 i używania agenta aktualizacji w konfiguracji puli agentów
  • Bilet opinii społeczności deweloperów: problem z ładowaniem strony konfiguracji zespołu
  • Bilet opinii społeczności deweloperów: poprawiono nieprawidłową obsługę dat w powiadomieniu e-mail żądania ściągnięcia dla niektórych formatów regionalnych

Azure DevOps Server 2022 Update 2 RC Data wydania: 7 maja 2024 r.

Program Azure DevOps Server 2022.2 RC zawiera wiele nowych funkcji. Niektóre najważniejsze funkcje to:

Możesz również przejść do poszczególnych sekcji, aby wyświetlić wszystkie nowe funkcje dla każdej usługi:


Ogólne

Publikowanie zadania Wyniki testu

Zadanie Publikuj wyniki testu obsługuje teraz załączniki przebiegu testu dla formatu raportu JUnit.

Nowa wersja zestawu SDK rozszerzenia internetowego usługi Azure DevOps

Dzięki tej aktualizacji udostępnimy nową wersję zestawu SDK rozszerzenia internetowego usługi Azure DevOps. Zestaw SDK klienta umożliwia rozszerzenia sieci Web komunikowanie się z ramką hosta. Może służyć do:

  • Powiadamianie hosta o załadowaniu rozszerzenia lub błędach
  • Uzyskaj podstawowe informacje kontekstowe dotyczące bieżącej strony (bieżący użytkownik, host i informacje o rozszerzeniu)
  • Uzyskiwanie informacji o motywie
  • Uzyskiwanie tokenu autoryzacji do użycia w wywołaniach REST z powrotem do usługi Azure DevOps
  • Uzyskiwanie usług zdalnych oferowanych przez ramkę hosta

Pełną dokumentację interfejsu API można znaleźć w dokumentacji pakietu azure-devops-extension-sdk. Ta nowa wersja zapewnia obsługę następujących modułów:

  • Obsługa modułów ES: zestaw SDK obsługuje teraz moduły ES (ECMAScript) oprócz istniejących modułów AMD (Asynchronous Module Definition). Zestaw SDK można teraz zaimportować przy użyciu składni modułu ES, która zapewnia ulepszenia wydajności i zmniejsza rozmiar aplikacji.

  • Zgodność z poprzednimi wersjami dla modułów AMD: istniejąca obsługa modułów AMD pozostaje nienaruszona. Jeśli projekt korzysta z modułów AMD, możesz nadal używać ich tak jak wcześniej bez żadnych zmian.

Jak używać:

W przypadku modułów ES można zaimportować nasze moduły przy użyciu instrukcji import:

import * as SDK from 'azure-devops-extension-sdk';
// Use the module here

Jeśli używasz modułów AMD, możesz kontynuować importowanie zestawu SDK przy użyciu require funkcji :

require(['azure-devops-extension-sdk'], function(SDK) {

  // Use the module here
});

Boards

Limity dla ścieżek obszaru i iteracji

Limity odgrywają ważną rolę w utrzymaniu kondycji i wydajności dużej usługi globalnej. W tej wersji wprowadzamy twarde limity 10 000 na projekt zarówno dla ścieżek obszaru, jak i iteracji. Odwiedź stronę Śledzenie pracy, proces i limity projektów, aby dowiedzieć się więcej o różnych limitach w usłudze.

Zrzuty ekranu przedstawiający ścieżki obszaru i iteracji.

Kontrolki programowania i wdrażania

Teraz usuwamy kontrolki Programowanie i/lub Wdrażanie z elementu roboczego, w zależności od konfiguracji projektu. Możesz na przykład skonfigurować ustawienia projektu, aby wyłączyć repozytoria i/lub potoki.

Zrzuty ekranu usług DevOps.

Po przejściu do elementu roboczego odpowiednie kontrolki programowania i wdrażania będą ukryte w formularzu.

Zrzuty ekranu dotyczące powiązanej pracy.

Jeśli zdecydujesz się połączyć repozytorium GitHub z usługą Azure Boards, zostanie wyświetlona kontrolka Programowanie dla repozytoriów GitHub.

Zrzuty ekranu kontrolki programowania .

Repos

Nowe zasady gałęzi uniemożliwiają użytkownikom zatwierdzanie własnych zmian

Aby poprawić kontrolę nad tym, jakie zmiany użytkownik zatwierdza i odpowiada bardziej rygorystycznym wymaganiom prawnym/zgodności, udostępniamy opcję zapobiegania zatwierdzaniu przez użytkownika własnych zmian, chyba że jawnie dozwolone.

Użytkownik z możliwością zarządzania zasadami gałęzi może teraz przełączyć nowo dodaną opcję "Wymagaj co najmniej jednego zatwierdzenia dla każdej iteracji" w obszarze "Po wypchnięciu nowych zmian". Po wybraniu tej opcji wymagane jest co najmniej jedno głosowanie za zatwierdzeniem ostatniej zmiany gałęzi źródłowej. Zatwierdzenie użytkownika nie jest liczone względem poprzedniej niezatwierdzonej iteracji wypychanej przez tego użytkownika. W związku z tym wymagane jest dodatkowe zatwierdzenie ostatniej iteracji przez innego użytkownika.

Na poniższej ilustracji przedstawiono żądanie ściągnięcia utworzone przez użytkownika A i dodatkowe 4 zatwierdzenia (iteracji) wykonane do tego żądania ściągnięcia przez użytkowników B, C, A ponownie i C. Po zakończeniu drugiej iteracji (zatwierdzenie wykonane przez użytkownika B) użytkownik C zatwierdził to. W tym czasie sugerowało to zatwierdzenie pierwszego zatwierdzenia użytkownika A (po utworzeniu żądania ściągnięcia) i nowo wprowadzone zasady zostaną pomyślnie wprowadzone. Po piątej iteracji (ostatnie zatwierdzenie użytkownika C) zatwierdzenie zostało wykonane przez użytkownika A. To sugerowane zatwierdzenie dla wcześniejszego zatwierdzenia wykonanego przez użytkownika C, ale nie oznaczało zatwierdzenia drugiego zatwierdzenia wykonanego przez użytkownika A w czwartej iteracji. Aby nowo wprowadzone zasady zakończyły się pomyślnie, niezatwierdzona iteracja cztery muszą zostać zatwierdzone przez zatwierdzenie od użytkownika B, C lub innego użytkownika, który nie wprowadził żadnych zmian w żądaniu ściągnięcia.

Obraz zarządzania uprawnieniami.

Uwaga

Istnieje znany problem polegający na tym, że zasady gałęzi przejmą grupę, która jest skonfigurowana jako recenzent, jako jednostka zatwierdzająca. Wyobraźmy sobie, że istnieje wymagane zatwierdzenie wykonywane przez dowolnego użytkownika grupy G. Użytkownik A jest członkiem tej grupy G. Gdy użytkownik A udostępni zatwierdzenie, jak na powyższym obrazie (po piątej iteracji), zatwierdzenie grupy G zatwierdza zmianę wykonywaną przez użytkownika A. Nie jest to oczekiwane i zostanie rozwiązane w wersji RTW.

Obsługa filtrów bezbłędnych i bezdrzewnych

Ważne

Funkcjonalność jest wyłączona domyślnie. Aby włączyć tę funkcję, wykonaj następujące zapytanie w bazie danych konfiguracji:

exec prc_SetRegistryValue 1,'#\FeatureAvailability\Entries\Git.EnablePartialClone\AvailabilityState\', 1

Usługa Azure DevOps obsługuje teraz dwa dodatkowe filtrowanie podczas klonowania/pobierania. Są to: --filter=blob:none i --filter=tree:0 Pierwsza opcja (klon bez obiektów blob) jest najlepiej używana do regularnego programowania, podczas gdy druga opcja (klon bez drzewa) pasuje lepiej w tych przypadkach, w których odrzucasz klon po, na przykład podczas uruchamiania kompilacji.

Wycofanie protokołu SSH-RSA

Usługa Azure Repos udostępnia dwie metody uzyskiwania dostępu do repozytorium git w usłudze Azure Repos — HTTPS i SSH. Aby użyć protokołu SSH, należy utworzyć parę kluczy przy użyciu jednej z obsługiwanych metod szyfrowania. W przeszłości obsługujemy tylko protokół SSH-RSA i poprosiliśmy użytkowników o włączenie protokołu SSH-RSA tutaj.

Dzięki tej aktualizacji ogłaszamy wycofanie protokołu SSH-RSA jako obsługiwaną metodę szyfrowania na potrzeby nawiązywania połączenia z usługą Azure Repos przy użyciu protokołu SSH. Więcej szczegółów można znaleźć w wpisie w blogu Koniec obsługi protokołu SSH-RSA dla usługi Azure Repos .

Pipelines

Zapobieganie niezamierzonym przebiegom potoku

Obecnie, jeśli potok YAML nie określi sekcji, zostanie uruchomiony pod kątem trigger wszelkich zmian wypchniętych do repozytorium. Może to spowodować zamieszanie, dlaczego potok został uruchomiony i prowadzi do wielu niezamierzonych przebiegów.

Dodaliśmy ustawienie potoków kolekcji projektów i na poziomie projektu o nazwie Wyłącz dorozumiany wyzwalacz ciągłej integracji YAML, który umożliwia zmianę tego zachowania. Jeśli brakuje ich sekcji wyzwalacza, możesz nie wyzwalać potoków.

 Zrzut ekranu przedstawiający wyzwalacz ciągłej integracji YAML.

Ponów próbę etapu po zatwierdzeniu i przekroczeniu limitu czasu sprawdzania

Po przekroczeniu limitu czasu zatwierdzania i sprawdzania, etap, do którego należy, jest pomijany. Pominięto również etapy, które mają zależność od pominiętego etapu.

Teraz możesz ponowić próbę etapu podczas zatwierdzania i sprawdzania limitu czasu. Wcześniej było to możliwe tylko wtedy, gdy upłynął limit czasu zatwierdzenia.

Zrzut ekranu przedstawiający ponowną próbę etapu.

Pomijanie zatwierdzeń i kontroli

Zatwierdzenia i kontrole pomagają chronić dostęp do ważnych zasobów, takich jak połączenia z usługami, repozytoria lub pule agentów. Typowym przypadkiem użycia jest użycie zatwierdzeń i kontroli podczas wdrażania w środowisku produkcyjnym i chcesz chronić połączenie usługi ARM.

Załóżmy, że dodano następujące kontrole połączenia z usługą: zatwierdzenie, sprawdzanie godzin pracy i sprawdzanie wywołania funkcji platformy Azure (aby wymusić opóźnienie między różnymi regionami).

Teraz wyobraź sobie, że musisz przeprowadzić wdrożenie poprawek. Uruchamiasz przebieg potoku, ale nie jest on kontynuowany, czeka na większość testów do ukończenia. Nie możesz sobie pozwolić na oczekiwanie na ukończenie zatwierdzeń i kontroli.

W tej wersji umożliwiliśmy obejście uruchomionych zatwierdzeń i kontroli, dzięki czemu można ukończyć poprawkę.

Możesz pominąć uruchamianie zatwierdzeń, godzin pracy, wywołać funkcję platformy Azure i wywołać kontrole interfejsu API REST.

Pomijanie zatwierdzenia.

Zrzut ekranu przedstawiający obejście zatwierdzenia.

Pomiń sprawdzanie godzin pracy.

Zrzut ekranu przedstawiający sprawdzanie pomijania godzin pracy.

Pomiń sprawdzanie funkcji platformy Azure. Pomiń sprawdzanie godzin pracy.

Zrzut ekranu przedstawiający sprawdzanie wywołania funkcji platformy Azure.

Po obejściu sprawdzania można go zobaczyć w panelu sprawdzania.

Zrzut ekranu przedstawiający pomijanie sprawdzania.

Sprawdzanie można pominąć tylko wtedy, gdy jesteś administratorem zasobu, na którym zdefiniowano testy.

Zrzut ekranu przedstawiający wymagany szablon YAML.

Ponowne uruchamianie testów funkcji platformy Azure

Wyobraź sobie, że system jest wdrażany na wielu etapach. Przed wdrożeniem drugiego etapu istnieje zatwierdzenie i sprawdzenie wywołania funkcji platformy Azure, które uruchamia sprawdzanie kondycji w już wdrożonej części systemu.

Podczas przeglądania żądania zatwierdzenia zauważysz, że kontrola kondycji została uruchomiona dwa dni wcześniej. W tym scenariuszu możesz pamiętać o innym wdrożeniu, które miało wpływ na wynik sprawdzania kondycji.

Dzięki tej aktualizacji możesz ponownie uruchomić polecenie Wywołaj funkcję platformy Azure i wywołać kontrole interfejsu API REST. Ta funkcja jest dostępna tylko w przypadku testów zakończonych powodzeniem i nie ma ponownych prób.

Zrzut ekranu przedstawiający sprawdzanie dynamiczne.

Uwaga

Możesz ponownie uruchomić sprawdzanie tylko wtedy, gdy jesteś administratorem zasobu, na którym zdefiniowano testy.

Obsługa serwera GitHub enterprise w wymaganym sprawdzeniu szablonu

Szablony to mechanizm zabezpieczeń, który umożliwia kontrolowanie etapów, zadań i kroków potoków w kolekcji projektów.

Sprawdzanie wymagaj szablonu umożliwia wymuszenie, że potok rozciąga się od zestawu zatwierdzonych szablonów przed uzyskaniem dostępu do chronionego zasobu, takiego jak pula agentów lub połączenie z usługą.

Teraz można określić szablony znajdujące się w repozytoriach GitHub Enterprise Server.

Rola administratora dla wszystkich środowisk

Środowiska w potokach YAML reprezentują zasób obliczeniowy, do którego wdrażasz aplikację, na przykład klaster usługi AKS lub zestaw maszyn wirtualnych. Zapewniają one mechanizmy kontroli zabezpieczeń i możliwość śledzenia wdrożeń.

Zarządzanie środowiskami może być dość trudne. Dzieje się tak dlatego, że po utworzeniu środowiska osoba tworząca ją automatycznie staje się jedynym administratorem. Jeśli na przykład chcesz zarządzać zatwierdzeniami i sprawdzaniem wszystkich środowisk w scentralizowany sposób, musisz poprosić każdego administratora środowiska o dodanie określonego użytkownika lub grupy jako administratora, a następnie skonfigurowanie testów przy użyciu interfejsu API REST. Takie podejście jest żmudne, podatne na błędy i nie jest skalowane po dodaniu nowych środowisk.

W tej wersji dodaliśmy rolę administratorów na poziomie centrum środowisk. Powoduje to parowania środowisk z połączeniami usług lub pulami agentów. Aby przypisać rolę administratora do użytkownika lub grupy, musisz być już administratorem centrum środowisk lub właścicielem kolekcji projektów.

Zrzut ekranu przedstawiający rolę administratora.

Użytkownik z tą rolą administratora może administrować uprawnieniami, zarządzać, wyświetlać i używać dowolnego środowiska. Obejmuje to otwieranie środowisk dla wszystkich potoków.

Po przyznaniu roli administratora użytkownika na poziomie centrum środowisk stają się administratorami dla wszystkich istniejących środowisk i dla wszystkich przyszłych środowisk.

Ulepszona walidacja YAML

Aby sprawdzić, czy składnia YAML jest poprawna, możesz użyć funkcji Validate edytora internetowego usługi Azure Pipelines. Dlatego ważne jest, aby ta funkcja przechwyciła jak najwięcej problemów YAML.

Zrzut ekranu przedstawiający walidację YAML.

Walidacja YAML jest teraz bardziej dokładna, jeśli chodzi o wyrażenia.

Podczas pisania potoków YAML można użyć funkcji do definiowania wartości zmiennych.

Wyobraź sobie, że definiujesz następujące zmienne:

variables:
  Major: '1'
  Minor: '0'
  Patch: $[counter(fromat('{0}.{1}', variables.Major, variables.Minor ), 0)]

Zmienna Patch jest definiowana counter przy użyciu funkcji i pozostałych dwóch zmiennych. W powyższym kodzie YAML wyraz format jest błędny. Wcześniej ten błąd nie został wykryty. Teraz funkcja Validate wykryje to i wyświetli komunikat o błędzie.

Zrzut ekranu przedstawiający wykryte niepoprawne definicje zmiennych.

Usługa Azure Pipelines wykryje nieprawidłowe definicje zmiennych na poziomie potoku/etapu/zadania.

W potokach YAML można pominąć wykonywanie etapu przy użyciu warunków. Literówki mogą również pojawić się tutaj, podobnie jak w poniższym przykładzie.

steps:
- task: NuGetCommand@2
  condition: eq(variable.Patch, 0)
  inputs:
    command: pack
    versioningScheme: byPrereleaseNumber
    majorVersion: '$(Major)'
    minorVersion: '$(Minor)'
    patchVersion: '$(Patch)'

Zadanie NuGetCommand jest wykonywane tylko wtedy, gdy wartość zmiennej Patch wynosi 0. Ponownie w warunku znajduje się literówka i zostanie wyświetlona funkcja Validate .

Zrzut ekranu przedstawiający zmienną Patch.

Usługa Azure Pipelines wykryje nieprawidłowe warunki YAML zdefiniowane na poziomie potoku/etapu/zadania.

Interfejsy API REST dla środowisk

Środowisko to kolekcja zasobów, których można kierować przy użyciu wdrożeń z potoku. Środowiska zapewniają historię wdrażania, możliwość śledzenia elementów roboczych i zatwierdzeń oraz mechanizmy kontroli dostępu.

Wiemy, że chcesz programowo tworzyć środowiska, dlatego opublikowaliśmy dokumentację dla ich interfejsu API REST.

Ulepszenia interfejsu API REST zatwierdzeń

Ulepszyliśmy lokalizowanie zatwierdzeń przypisanych do użytkownika przez uwzględnienie grup, do których należy użytkownik w wynikach wyszukiwania.

Zatwierdzenia zawierają teraz informacje o uruchomieniu potoku, do którego należą.

Na przykład następujące wywołanie https://fabrikam.selfhosted/fabrikam/FabrikamFiber/_apis/pipelines/approvals?api-version=7.2-preview.2&top=1&assignedTo=john@fabrikam.com&state=pending interfejsu API REST GET zwraca wartość

{
    "count": 1,
    "value":
    [
        {
            "id": "7e90b9f7-f3f8-4548-a108-8b80c0fa80e7",
            "steps":
            [],
            "status": "pending",
            "createdOn": "2023-11-09T10:54:37.977Z",
            "lastModifiedOn": "2023-11-09T10:54:37.9775685Z",
            "executionOrder": "anyOrder",
            "minRequiredApprovers": 1,
            "blockedApprovers":
            [],
            "_links":
            {
                "self":
                {
                    "href": "https://dev.azure.com/fabrikam/26dcfaeb-d8fe-495c-91cb-fec4acb44fbb/_apis/pipelines/approvals/7e80b987-f3fe-4578-a108-8a80c0fb80e7"
                }
            },
            "pipeline":
            {
                "owner":
                {
                    "_links":
                    {
                        "web":
                        {
                            "href": "https://dev.azure.com/buildcanary/26dcfaeb-d8fe-495c-91cb-fec4acb44fbb/_build/results?buildId=73222930"
                        },
                        "self":
                        {
                            "href": "https://dev.azure.com/buildcanary/26dcfaeb-d8fe-495c-91cb-fec4acb44fbb/_apis/build/Builds/73222930"
                        }
                    },
                    "id": 73222930,
                    "name": "20231109.1"
                },
                "id": "4597",
                "name": "FabrikamFiber"
            }
        }
    ]
}

Dzienniki potoku zawierają teraz wykorzystanie zasobów

Dzienniki potoku platformy Azure mogą teraz przechwytywać metryki wykorzystania zasobów, takie jak pamięć, użycie procesora CPU i dostępne miejsce na dysku. Dzienniki obejmują również zasoby używane przez agenta potoku i procesy podrzędne, w tym zadania uruchamiane w zadaniu.

Zrzut ekranu przedstawiający dzienniki, w tym zasoby używane przez potok.

Jeśli podejrzewasz, że zadanie potoku może napotkać ograniczenia zasobów, włącz pełne dzienniki , aby informacje o wykorzystaniu zasobów zostały wprowadzone do dzienników potoku. Działa to na dowolnym agencie niezależnie od modelu hostingu.

Agent usługi Azure Pipelines obsługuje teraz system Alpine Linux

Agent potoku w wersji 3.227 obsługuje teraz system Alpine Linux w wersji 3.13 lub nowszej. Alpine Linux to popularny obraz kontenera (podstawowy). Agenta można znaleźć na stronie wydań . Wersje alpine Linux agenta mają prefiks vsts-agent-linux-musl np. vsts-agent-linux-musl-x64-3.227.1.tar.gz.

Zadania usługi Azure Pipelines używają węzła 16

Zadania w potoku są wykonywane przy użyciu modułu uruchamiającego z Node.js używanymi w większości przypadków. Zadania usługi Azure Pipelines korzystające z węzła jako moduł uruchamiający używają teraz węzła 16. Ponieważ węzeł 16 jest pierwszą wersją node, która natywnie obsługuje krzem firmy Apple, wykonuje również pełną obsługę zadań dla systemu macOS na krzemie firmy Apple. Agenci działający na krzemie apple nie potrzebują Rosetta do uruchomienia.

Ponieważ data zakończenia okresu eksploatacji węzła 16 została przeniesiona do przodu, rozpoczęliśmy pracę nad uruchamianiem zadań z węzłem 20.

Zwiększono limity usługi Azure Pipeline w celu dostosowania do maksymalnego rozmiaru szablonu usługi Azure Resource Manager (ARM) 4 MB.

Aby utworzyć infrastrukturę platformy Azure, możesz użyć zadania wdrażania szablonu usługi Azure Resource Manager. W odpowiedzi na Twoją opinię zwiększyliśmy limit integracji usługi Azure Pipelines wynoszący od 2 MB do 4 MB. Będzie to zgodne z szablonami usługi ARM o maksymalnym rozmiarze 4 MB rozpoznawania ograniczeń rozmiaru podczas integracji dużych szablonów.

Zadanie AzureRmWebAppDeployment obsługuje uwierzytelnianie identyfikatora Entra firmy Microsoft

Zadania AzureRmWebAppDeploymentV3 i AzureRmWebAppDeployment@4 zostały zaktualizowane w celu obsługi usługi App Service z wyłączonym uwierzytelnianiem podstawowym. Jeśli uwierzytelnianie podstawowe jest wyłączone w usłudze App Service, zadania AzureRmWebAppDeploymentV3/4 używają uwierzytelniania identyfikatora Entra firmy Microsoft do wykonywania wdrożeń w punkcie końcowym usługi App Service Kudu. Wymaga to najnowszej wersji msdeploy.exe zainstalowanej na agencie, co jest w przypadku agenta windows-2022/windows-latest Hosted agents (zobacz informacje o zadaniu).

Wyłączone przesłonięcia stanu zasad pokrycia kodu na Niepowodzenie, gdy kompilacja kończy się niepowodzeniem

Wcześniej stan zasad pokrycia kodu został zastąpiony wartością "Niepowodzenie", jeśli kompilacja żądania ściągnięcia zakończyła się niepowodzeniem. Była to blokada dla niektórych osób, które miały kompilację jako opcjonalną kontrolę i zasady pokrycia kodu jako wymagane sprawdzenie dla żądania ściągnięcia, co spowodowało zablokowanie żądania ściągnięcia.

Zrzut ekranu przedstawiający zablokowane żądania ściągnięcia.

Teraz zasady pokrycia kodu nie zostaną zastąpione wartością "Niepowodzenie", jeśli kompilacja zakończy się niepowodzeniem. Ta funkcja zostanie włączona dla wszystkich klientów.

Zrzut ekranu przedstawiający wyniki po zmianie.

Artifacts

Wprowadzenie do obsługi usługi Azure Artifacts dla skrzynek towarowych

Z przyjemnością ogłaszamy, że usługa Azure Artifacts oferuje teraz natywną obsługę skrzynek towarowych. Ta obsługa obejmuje równoważność funkcji w odniesieniu do naszych istniejących protokołów, a także crates.io dostępne jako nadrzędne źródło. Deweloperzy i zespoły rust mogą teraz bezproblemowo korzystać, publikować i udostępniać swoje skrzynie ładunkowe oraz zarządzać nimi, jednocześnie korzystając z niezawodnej infrastruktury platformy Azure i pozostając w znanym środowisku usługi Azure DevOps.

Ogłoszenie o wycofaniu dla zadań potoku NuGet Restore w wersji 1 i Instalatora NuGet w wersji 0

Jeśli używasz zadań potoku NuGet Restore v1 i NuGet Installer w wersji 0, szybko przejdź do zadania potoku NuGetCommand@2. Wkrótce zaczniesz otrzymywać alerty w potokach, jeśli przejście nie zostało wykonane. Jeśli nie zostanie podjęta żadna akcja, począwszy od 27 listopada 2023 r., kompilacje spowodują niepowodzenie.

Obsługa usługi Azure Artifacts na potrzeby inspekcji npm

Usługa Azure Artifacts obsługuje npm audit teraz polecenia i npm audit fix . Ta funkcja umożliwia użytkownikom analizowanie i naprawianie luk w zabezpieczeniach projektu przez automatyczne aktualizowanie niezabezpieczonych wersji pakietów. Aby dowiedzieć się więcej, skorzystaj z inspekcji npm, aby wykryć i naprawić luki w zabezpieczeniach pakietu.

Raportowanie

Nowe środowisko katalogu pulpitu nawigacyjnego

Wysłuchaliśmy Twoich opinii i zachwyceni wprowadzeniem nowego środowiska katalogu pulpitu nawigacyjnego. Zawiera nie tylko nowoczesny projekt interfejsu użytkownika, ale także umożliwia sortowanie według każdej kolumny z dodatkiem kolumny Ostatnia konfiguracja . Ta kolumna zapewnia lepszy wgląd w ogólne użycie pulpitu nawigacyjnego w kolekcji projektów. Ponadto można teraz filtrować według pulpitów nawigacyjnych na poziomie zespołu lub projektu, co pozwala uzyskać dostęp tylko do listy elementów, które należy wyświetlić, ukrywając pulpity nawigacyjne, których nie chcesz wyświetlać.

Plik GIF do pokazu nowego katalogu pulpitu nawigacyjnego.

Wypróbuj teraz i daj nam znać, co myślisz w naszej społeczności usługi Azure DevOps

Filtrowanie elementów roboczych

Z przyjemnością ogłaszamy filtrowanie wykresów elementów roboczych. Ta funkcja umożliwia umieszczenie wskaźnika myszy na wykresie elementu roboczego w celu szybkiego omówienia i przechodzenia do szczegółów określonych segmentów wykresów w celu uzyskania szczegółowych informacji. Nie musisz już tworzyć zapytań niestandardowych, aby uzyskać dostęp do dokładnego potrzebnego elementu danych. Teraz możesz zapoznać się z elementami roboczymi na wykresach elementów roboczych za pomocą kilku kliknięć.

Funkcja Gif do demonstracyjnego filtrowania elementów roboczych.

Twoja opinia jest bezcenna w kształtowaniu przyszłości tej funkcji. Wypróbuj teraz i daj nam znać, co myślisz w naszej społeczności usługi Azure DevOps.

Wyniki pokrycia kodu dla folderów

Wyniki pokrycia kodu są teraz dostępne dla każdego pojedynczego pliku i folderu, a nie tylko jako numer najwyższego poziomu. Widok pokrycia kodu jest wyświetlany, gdy przycisk Tryb widoku folderu jest włączony. W tym trybie możesz przejść do szczegółów i wyświetlić pokrycie kodu dla wybranego poddrzewa. Użyj przycisku przełącznika, aby przełączać się między nowymi i starymi widokami.

Widżet wielu repozytoriów do ogólnie dostępnej wersji

Test Plans

Szybkie kopiowanie i importowanie przy użyciu planu testu lub identyfikatora pakietu

Teraz możesz obsługiwać wiele planów testów w planach testów platformy Azure z łatwością. Rozpoznawanie wyzwań, które były wcześniej związane z długimi menu rozwijanymi dotyczącymi importowania, kopiowania lub klonowania przypadków testowych — szczególnie w przypadku rozbudowanych planów lub zestawów — podjęliśmy kroki usprawniające przepływ pracy.

Z przyjemnością ogłaszamy funkcję wyszukiwania identyfikatorów planu testów i pakietu. Wprowadź swój identyfikator planu testów lub pakietu, aby szybko importować lub kopiować przypadki testowe bez opóźnień. Ta aktualizacja jest częścią naszego ciągłego zaangażowania w ulepszanie środowiska zarządzania testami, dzięki czemu jest bardziej intuicyjna i mniej czasochłonna.

Plik Gif do demonstracyjnego planu testowania, szczegóły wyszukiwania identyfikatora pakietu.

Aktualizacja modułu uruchamiającego testy platformy Azure

Cieszymy się, że moduł uruchamiający testy platformy Azure został zaktualizowany do nowszej wersji. Ta aktualizacja zwiększa stabilność i wydajność, umożliwiając uruchamianie testów bez przerw lub opóźnień. Starsza wersja modułu uruchamiającego testy platformy Azure nie jest już obsługiwana. Aby uzyskać najlepszą wydajność i niezawodność operacji testowych, zalecamy jak najszybszą aktualizację do najnowszej wersji.

Co nowego?

  • Zwiększona stabilność i wydajność: wprowadziliśmy znaczące ulepszenia modułu uruchamiającego testy, aby rozwiązać problemy, których doświadczyli niektórzy użytkownicy. To uaktualnienie zapewnia bardziej niezawodny proces testowania, minimalizując zakłócenia pracy.
  • Monit o uaktualnienie: aby przejście do nowej wersji było bezproblemowe, zostanie wyświetlony monit o uaktualnienie. Dzięki temu każdy może łatwo przejść do ulepszonej wersji w twojej wygodzie, zwiększając zgodność i wydajność.

Zrzuty ekranu monitu o uaktualnienie.


Opinia

Chcemy poznać Twoje zdanie! Możesz zgłosić problem lub podać pomysł i śledzić go za pośrednictwem społeczności deweloperów i uzyskać porady na temat stack Overflow.


Początek strony