Udostępnij za pośrednictwem


Tworzenie pulpitu nawigacyjnego bez zespołu — aktualizacja przebiegu 162

W aktualizacji Sprint 162 usługi Azure DevOps z przyjemnością ogłaszamy, że możesz utworzyć pulpit nawigacyjny bez kojarzenia go z zespołem. Pulpit nawigacyjny będzie widoczny dla wszystkich użytkowników projektu i możesz zdecydować, kto może go edytować i zarządzać.

Ponadto dodaliśmy miniaturę postępu przebiegu. Teraz można skonfigurować ją do postępu na podstawie historii, punktów scenariuszy lub liczby zadań.

Zapoznaj się z listą funkcji poniżej, aby uzyskać więcej informacji.

Funkcje

Azure Repos:

Azure Pipelines:

Raportowanie:

Azure Repos

Nowe strony docelowe konwersji platformy internetowej

Zaktualizowaliśmy środowisko użytkownika stron docelowych repozytoriów, aby było nowoczesne, szybkie i przyjazne dla urządzeń przenośnych. Poniżej przedstawiono dwa przykłady stron, które zostały zaktualizowane, będziemy nadal aktualizować inne strony w przyszłych aktualizacjach.

Środowisko internetowe:

Nowe strony docelowe konwersji platformy internetowej.

Środowisko mobilne:

Nowe strony docelowe konwersji platformy mobilnej.

Przykład nowych stron docelowych platformy mobilnej.

Obsługa języka Kotlin

Z przyjemnością ogłaszamy, że teraz obsługujemy wyróżnianie języka Kotlin w edytorze plików. Wyróżnianie poprawi czytelność pliku tekstowego Kotlin i pomoże szybko skanować w celu znalezienia błędów. Określiliśmy priorytety tej funkcji na podstawie sugestii z Developer Community.

Obsługa języka Kotlin.

Azure Pipelines

Zaktualizowany interfejs użytkownika potoków wieloetapowych

Zaktualizowana wersja interfejsu użytkownika potoków wieloetapowych jest teraz domyślnie dostępna. Środowisko potoków wieloetapowych zapewnia ulepszenia i łatwość użycia interfejsu użytkownika portalu potoku. Potoki można wyświetlać i zarządzać nimi, wybierając pozycję Potoki z menu po lewej stronie. Ponadto można przejść do szczegółów i wyświetlić szczegóły potoku, szczegóły uruchamiania, analizę potoku, szczegóły zadania, dzienniki i nie tylko.

Aby dowiedzieć się więcej na temat środowiska użytkownika potoków wieloetapowych, zapoznaj się z dokumentacją tutaj.

Zaktualizowano interfejs użytkownika potoków wieloetapowych.

Opcja VSTest TestResultsDirectory jest dostępna w interfejsie użytkownika zadania

Zadanie VSTest przechowuje wyniki testów i skojarzone pliki w folderze $(Agent.TempDirectory)\TestResults . Dodaliśmy opcję do interfejsu użytkownika zadania, aby umożliwić skonfigurowanie innego folderu do przechowywania wyników testów. Teraz wszystkie kolejne zadania, które wymagają plików w określonej lokalizacji, mogą ich używać.

Opcja VSTest TestResultsDirectory jest dostępna w interfejsie użytkownika zadania.

Używanie słowa kluczowego extends w potokach

Obecnie potoki można uwzględnić w szablonach, promując ponowne użycie i zmniejszając standardowy. Ogólna struktura potoku została nadal zdefiniowana przez główny plik YAML. Dzięki tej aktualizacji dodaliśmy bardziej ustrukturyzowany sposób korzystania z szablonów potoków. Główny plik YAML może teraz używać rozszerzenia słowa kluczowego, aby wskazać, że główną strukturę potoku można znaleźć w innym pliku. Dzięki temu możesz kontrolować, które segmenty można rozszerzyć lub zmienić oraz jakie segmenty są stałe. Ulepszyliśmy również parametry potoku z typami danych, aby wyczyścić punkty zaczepienia, które można podać.

W tym przykładzie pokazano, jak można udostępnić proste punkty zaczepienia dla autora potoku do użycia. Szablon będzie zawsze uruchamiał kompilację, opcjonalnie uruchomi dodatkowe kroki podane przez potok, a następnie uruchomi opcjonalny krok testowania.


# azure-pipelines.yml
extends:
  template: build-template.yml
  parameters:
    runTests: true
    postBuildSteps:
    - script: echo This step runs after the build!
    - script: echo This step does too!

# build-template.yml
parameters:
- name: runTests
  type: boolean
  default: false
- name: postBuildSteps
  type: stepList
  default: []
steps:
- task: MSBuild@1   # this task always runs
- ${{ if eq(parameters.runTests, true) }}:
  - task: VSTest@2  # this task is injected only when runTests is true
- ${{ each step in parameters.postBuildSteps }}:
  - ${{ step }}

Obsługa języka Markdown w komunikatach o błędach testów automatycznych

Dodaliśmy obsługę języka Markdown do komunikatów o błędach dla testów automatycznych. Teraz możesz łatwo sformatować komunikaty o błędach zarówno dla przebiegu testu, jak i wyniku testu, aby zwiększyć czytelność i ułatwić rozwiązywanie problemów z niepowodzeniem testu w usłudze Azure Pipelines. Obsługiwaną składnię języka Markdown można znaleźć tutaj.

Obsługa języka Markdown w komunikatach o błędach testów automatycznych.

Zbieranie automatycznych i określonych przez użytkownika metadanych z potoku

Teraz możesz włączyć automatyczne i określone przez użytkownika zbieranie metadanych z zadań potoku. Metadane umożliwiają wymuszanie zasad artefaktów w środowisku przy użyciu sprawdzania artefaktu oceny.

Zbieranie metadanych automatycznych i określonych przez użytkownika z potoku.

interfejs użytkownika połączeń Aktualizacje z usługami

Pracujemy nad zaktualizowanym środowiskiem użytkownika w celu zarządzania połączeniami usługi. Te aktualizacje sprawiają, że środowisko połączenia z usługą jest nowoczesne i zgodne z kierunkiem usługi Azure DevOps. Wprowadziliśmy nowy interfejs użytkownika dla połączeń usług jako funkcję w wersji zapoznawczej na początku tego roku. Dzięki wszystkim, którzy próbowali nowego środowiska i przekazali nam cenne opinie.

Aktualizacje do interfejsu użytkownika połączeń usług.

Oprócz odświeżania środowiska użytkownika dodaliśmy również dwie możliwości, które mają kluczowe znaczenie dla korzystania z połączeń usług w potokach YAML: autoryzacje potoków i zatwierdzenia oraz kontrole.

Autoryzacje i zatwierdzenia potoków oraz kontrole.

Nowe środowisko użytkownika zostanie domyślnie włączone przy użyciu tej aktualizacji. Nadal będziesz mieć możliwość rezygnacji z wersji zapoznawczej.

Uwaga

Planujemy wprowadzić funkcję współużytkowania połączeń usług między projektami jako nową funkcję. Więcej szczegółów na temat środowiska udostępniania i ról zabezpieczeń można znaleźć tutaj.

Wdrożenia maszyn wirtualnych ze środowiskami

Jedną z najbardziej żądanych funkcji w środowiskach było wdrożenie maszyn wirtualnych. Dzięki tej aktualizacji włączamy zasób maszyny wirtualnej w środowiskach. Teraz można organizować wdrożenia na wielu maszynach i przeprowadzać aktualizacje stopniowe przy użyciu potoków YAML. Agenta można również zainstalować na każdym z serwerów docelowych bezpośrednio i przeprowadzić wdrażanie stopniowe na tych serwerach. Ponadto można użyć pełnego wykazu zadań na maszynach docelowych.

Wdrożenia maszyn wirtualnych ze środowiskami.

Wdrożenie stopniowe zastępuje wystąpienia poprzedniej wersji aplikacji wystąpieniami nowej wersji aplikacji na zestawie maszyn (zestaw stopniowy) w każdej iteracji.

Na przykład poniżej stopniowe aktualizacje wdrożenia do pięciu elementów docelowych w każdej iteracji. maxParallel Określi liczbę obiektów docelowych, które można wdrożyć równolegle. Wybór odpowiada liczbie obiektów docelowych, które muszą pozostać dostępne w dowolnym momencie, z wyłączeniem obiektów docelowych, do których są wdrażane. Służy również do określania warunków powodzenia i niepowodzenia podczas wdrażania.

jobs:
- deployment:
  displayName: web
  environment:
    name: musicCarnivalProd
    resourceType: VirtualMachine
  strategy:                 
    rolling:
      maxParallel: 5 #for percentages, mention as x%
      preDeploy:
        steps:
        - script: echo initialize, cleanup, backup, install certs...
      deploy:              
        steps:                                     
        - script: echo deploy ...      
      routeTraffic:
        steps:
        - script: echo routing traffic...   
      postRouteTraffic:
        steps:          
        - script: echo health check post routing traffic...  
      on:
        failure:
          steps:
          - script: echo restore from backup ..     
        success:
          steps:
          - script: echo notify passed...

Uwaga

Dzięki tej aktualizacji wszystkie dostępne artefakty z bieżącego potoku i skojarzonych zasobów potoku są pobierane tylko w elemencie deploy cyklu życia. Można jednak wybrać opcję pobierania, określając zadanie Pobierz artefakt potoku. Ta funkcja zawiera kilka znanych luk. Na przykład po ponowieniu próby etapu zostanie ono ponownie uruchomione na wszystkich maszynach wirtualnych, a nie tylko na docelowych miejscach docelowych, które zakończyły się niepowodzeniem. Pracujemy nad zamknięciem tych luk w przyszłych aktualizacjach.

Pomijanie etapów w potoku YAML

Po uruchomieniu przebiegu ręcznego czasami można pominąć kilka etapów w potoku. Jeśli na przykład nie chcesz wdrażać w środowisku produkcyjnym lub chcesz pominąć wdrażanie w kilku środowiskach produkcyjnych. Teraz możesz to zrobić za pomocą potoków YAML.

Zaktualizowany panel potoku uruchamiania przedstawia listę etapów z pliku YAML i możesz pominąć jeden lub więcej z tych etapów. Należy zachować ostrożność podczas pomijania etapów. Jeśli na przykład pierwszy etap generuje pewne artefakty potrzebne do kolejnych etapów, nie należy pomijać pierwszego etapu. Panel uruchamiania przedstawia ogólne ostrzeżenie za każdym razem, gdy pomijasz etapy, które mają zależności podrzędne. Pozostaje Ci do czynienia z tym, czy te zależności są prawdziwe zależności artefaktów, czy są one obecne tylko do sekwencjonowania wdrożeń.

Pomijanie etapów w potoku YAML.

Pomijanie etapu jest równoważne ponownemu wirowaniu zależności między etapami. Wszystkie natychmiastowe zależności podrzędne pominiętego etapu są wykonywane w zależności od nadrzędnego etapu pominiętego. Jeśli przebieg zakończy się niepowodzeniem i spróbujesz ponownie uruchomić etap niepowodzenia, ta próba będzie również miała takie samo zachowanie pomijania. Aby zmienić etapy, które są pomijane, musisz rozpocząć nowy przebieg.

Aby zmienić etapy, które są pomijane, uruchom nowy przebieg.

Raportowanie

Miniatura przebiegu wbudowanego

Spalanie przebiegu jest z powrotem! Kilka przebiegów temu usunęliśmy spalenie przebiegu w kontekście z nagłówków Sprint Burndown i Taskboard. W oparciu o twoją opinię ulepszyliśmy i ponownie wprowadziliśmy miniaturę przebiegu.

Wbudowana miniatura przebiegu przebiegu.

Kliknięcie miniatury spowoduje natychmiastowe wyświetlenie większej wersji wykresu z opcją wyświetlenia pełnego raportu na karcie Analiza. Wszelkie zmiany wprowadzone w pełnym raporcie zostaną odzwierciedlone na wykresie wyświetlanym w nagłówku. Dzięki temu można skonfigurować ją tak, aby mogła zostać spalona na podstawie scenariuszy, punktów historii lub liczby zadań, a nie tylko ilości pozostałej pracy.

Tworzenie pulpitu nawigacyjnego bez zespołu

Teraz możesz utworzyć pulpit nawigacyjny bez skojarzenia go z zespołem. Podczas tworzenia pulpitu nawigacyjnego wybierz typ Pulpit nawigacyjny projektu .

Tworzenie pulpitu nawigacyjnego bez zespołu.

Pulpit nawigacyjny projektu jest jak pulpit nawigacyjny zespołu, z wyjątkiem tego, że nie jest skojarzony z zespołem i możesz zdecydować, kto może edytować pulpit nawigacyjny lub zarządzać nim. Podobnie jak pulpit nawigacyjny zespołu, jest widoczny dla wszystkich użytkowników w projekcie.

Wszystkie widżety usługi Azure DevOps, które wymagają kontekstu zespołu, zostały zaktualizowane, aby umożliwić wybranie zespołu w ich konfiguracji. Możesz dodać te widżety do pulpitów nawigacyjnych projektu i wybrać odpowiedni zespół.

Zaktualizowano widżety usługi Azure DevOps, które wymagają kontekstu zespołu.

Uwaga

W przypadku widżetów niestandardowych lub innych firm pulpit nawigacyjny projektu przekaże domyślny kontekst zespołu do tych widżetów. Jeśli masz niestandardowy widżet, który opiera się na kontekście zespołu, należy zaktualizować konfigurację, aby umożliwić wybranie zespołu.

Następne kroki

Uwaga

Te funkcje zostaną wdrożone w ciągu najbliższych dwóch do trzech tygodni.

Przejdź do usługi Azure DevOps i przyjrzyj się.

Jak przekazać opinię

Chcielibyśmy usłyszeć, co myślisz o tych funkcjach. Użyj menu Pomocy, aby zgłosić problem lub podać sugestię.

Wprowadź sugestię

Możesz również uzyskać porady i pytania, na które odpowiada społeczność w witrynie Stack Overflow.

Dzięki,

Jeff Beehler