Obsługa usługi GitHub Enterprise i automatyczne połączenia usługi GitHub w potokach kompilacji — aktualizacja przebiegu 146
W artykule Sprint 146 Update of Azure DevOps (Przebieg 146 aktualizacji usługi Azure DevOps) ulepszyliśmy naszą integrację usługi GitHub z usługą Azure Pipelines. Kreator Nowy potok kompilacji umożliwia teraz tworzenie potoków dla repozytoriów usługi GitHub Enterprise. Analizuje on także repozytorium, aby udostępnić sugerowany szablon języka. Ponadto może tworzyć i ponownie używać połączeń usług dla wybranych repozytoriów GitHub.
Aby uzyskać więcej informacji, zapoznaj się z poniższą listą funkcji .
Funkcje
Ogólne:
Azure Boards:
Azure Pipelines:
- Obsługa usługi GitHub Enterprise w kreatorze potoków
- Automatyczne połączenia z usługą GitHub w potokach
- Wyświetlanie stanu każdego zadania potoku w usłudze GitHub Checks
- Domyślna autoryzacja dla zasobów YAML w usłudze GitHub
- Kontenery usług dla potoków YAML
- Elementy robocze połączone z zatwierdzeniami GitHub w podsumowaniu wydania
- Nowe zadania usługi Azure App Service zoptymalizowane pod kątem języka YAML
- Obsługa uwierzytelniania usługi Azure Active Directory (AD) dla zadania usługi Azure SQL
- Wpięcie usługi adnotacji Grafana
- Zadania wykonywania zapytań o alerty usługi Azure Monitor
- Bezpośrednie wprowadzanie pliku specyfikacji w zadaniu wdrażania na platformie Kubernetes
- Zadanie instalatora interfejsu wiersza polecenia platformy Docker
- Środowisko Java ze wsparciem długoterminowym (LTS, long-term support) na agentach hostowanych firmy Microsoft
- Obsługa języka YAML na potrzeby potoków Bitbucket Cloud
- Unikanie wyzwalania wielu kompilacji ciągłej integracji w przypadku żądań ściągnięcia
- Zmienianie numerów kompilacji, przekazywanie i pobieranie artefaktów w kompilacjach rozwidlonych repozytoriów
- Nowa opcja w zadaniu Publikuj wyniki testu umożliwiająca zakończenie kompilacji niepowodzeniem w przypadku testów zakończonych niepowodzeniem
- Aktualizacje do witryny Azure Portal na potrzeby tworzenia projektu usługi Azure DevOps
- Konfigurowanie i wdrażanie w bazie danych CosmosDB przy użyciu witryny Azure Portal
- Konfigurowanie kompilacji i potoków wydania dla usługi Functions w witrynie Azure Portal
Azure Artifacts:
Wiki:
- Czcionka monospaced dla edytora języka Markdown typu wiki
- Pogrubione tytuły stron typu wiki
- Wstawianie tabel w języku Markdown
- Osadzanie wyników zapytań usługi Azure Boards w witrynie Typu Wiki
Ogólne
Przywracanie usuniętych projektów
W tej aktualizacji dodaliśmy możliwość przywracania usuniętych projektów z portalu usługi Azure DevOps. Jeśli masz uprawnienie do usuwania projektu, możesz również przywrócić usunięty projekt ze strony Przegląd organizacji Ustawienia>.
Azure Boards
Upraszczanie organizacji pracy przy użyciu procesu Podstawowy
Ważne
Proces Podstawowy jest w publicznej wersji zapoznawczej jako domyślny proces dla nowych projektów w nowych organizacjach utworzonych w regionie Środkowe stany USA.
W przeszłości agile był domyślnym procesem dla nowych projektów, oferując niezawodny i elastyczny zestaw typów elementów roboczych i stanów odpowiadających różnym metodom dostarczania projektów. W przypadku niektórych zespołów, którzy są bardziej zaznajomieni z innymi narzędziami lub którzy rozwijają się i chcą wdrożyć bardziej zaawansowany zestaw narzędzi, chcą szybko rozpocząć pracę przy użyciu terminologii, z którą są bardziej zaznajomieni.
Nowy proces Podstawowy udostępnia trzy typy elementów roboczych (Epiki, Problemy i Zadania) do planowania i śledzenia pracy. Zalecamy używanie problemów do śledzenia elementów, takich jak scenariusze użytkowników, usterki i funkcje podczas używania epików do grupowania problemów w większej lekcji pracy. W miarę postępu pracy przenieś elementy wzdłuż prostego przepływu pracy zadań Do wykonania, Wykonywania i Gotowe.
Zapoznaj się z dokumentacją śledzenia problemów i zadań , aby ułatwić rozpoczęcie pracy z nowym projektem.
Azure Pipelines
Obsługa usługi GitHub Enterprise w kreatorze potoków
Wcześniej można było użyć projektanta wizualnego do tworzenia potoków dla repozytoriów GitHub Enterprise. Teraz możesz również użyć kreatora Nowy potok kompilacji, aby utworzyć potoki.
Kreator analizuje repozytorium GitHub Enterprise, aby zasugerować szablon YAML zgodny z językiem projektu. Następnie możesz edytować i zapisać kod YAML jako bezpośrednie zatwierdzenie w gałęzi domyślnej lub jako żądanie ściągnięcia.
Aby uzyskać więcej informacji, zobacz dokumentację dotyczącą tworzenia pierwszego potoku tutaj.
Automatyczne połączenia z usługą GitHub w potokach
Podczas tworzenia potoku nowej kompilacji w celu utworzenia potoku dla usługi GitHub strona wybierania lub tworzenia połączenia usługi GitHub doprowadziła do nieporozumień co do tego, które połączenie wybrać z listy. Teraz nie musisz wybierać połączenia. Kreator automatycznie tworzy i ponownie używa połączenia z usługą dla wybranego repozytorium.
Jeśli chcesz ręcznie wybrać połączenie inne niż wybrane automatycznie, postępuj zgodnie z hiperlinkiem Wybierz połączenie . Aby uzyskać więcej informacji, zobacz Tworzenie repozytoriów GitHub.
Uwaga
Wybór jest oparty na aplikacji GitHub usługi Azure Pipelines (jeśli jest ona zainstalowana w repozytorium) lub osobistej tożsamości usługi GitHub (przy użyciu protokołu OAuth).
Wyświetlanie stanu każdego zadania potoku w usłudze GitHub Checks
Wcześniej jeden stan kompilacji został opublikowany w usłudze GitHub Checks dla potoku, nawet jeśli obejmował zadania dla wielu platform (np. Linux, macOS i Windows). Teraz stan jest publikowany w usłudze GitHub Checks dla każdego zadania w potoku. Ponadto można ponownie uruchomić całą kompilację lub tylko pojedyncze zadania, które zakończyły się niepowodzeniem, za pomocą kontroli usługi GitHub. Aby korzystać z tej funkcji, potok musi być skonfigurowany do korzystania z aplikacji GitHub usługi Azure Pipelines. Aby uzyskać dodatkowe informacje, zobacz Integrowanie przy użyciu aplikacji GitHub. Aby skonfigurować potok z zadaniami dla wielu platform, zobacz Tworzenie potoku wieloplatformowego.
Domyślna autoryzacja dla zasobów YAML w usłudze GitHub
Jeśli zarządzasz kodem źródłowym w usłudze GitHub i używasz kodu YAML do zdefiniowania potoku, prawdopodobnie wystąpił błąd kompilacji autoryzacji zasobów. Po zmodyfikowaniu pliku YAML i dodaniu odwołania do jednego z chronionych zasobów (np. połączenia z usługą, puli agentów, grupy zmiennych lub bezpiecznego pliku) usługa Azure Pipelines nie mogła zweryfikować tożsamości użytkownika, który dokonał tej zmiany i zakończył się niepowodzeniem kompilacji. Aby obejść ten problem, musisz zapisać potok kompilacji w edytorze internetowym po wprowadzeniu zmiany w pliku YAML. Wielu użytkowników, którzy trafili w ten problem, po prostu chciało zezwolić wszystkim potokom na korzystanie z zasobu.
Aby uniknąć niepowodzenia kompilacji autoryzacji zasobów, zmieniliśmy domyślne zachowanie wszystkich nowych połączeń usług, pul agentów i grup zmiennych, które mają być autoryzowane do użycia we wszystkich potokach. Jeśli chcesz ściślejszych kontrolek w zasobach, możesz wyłączyć domyślny model autoryzacji (zobacz rysunek poniżej). Gdy to zrobisz, ktoś z uprawnieniami do korzystania z zasobu musi zapisać potok w edytorze internetowym po dodaniu odwołania do zasobu do pliku YAML.
Kontenery usług dla potoków YAML
Wcześniej trzeba było zainstalować, uruchomić i zatrzymać usługi, takie jak bazy danych lub pamięci podręczne, jeśli potok YAML używał tych usług. Dzięki tej aktualizacji dodaliśmy kontenery usług, które mogą obsługiwać te zadania. Jeśli na przykład potok używa pamięci podręcznej Redis Cache do testów integracji, możesz dołączyć obraz kontenera redis jako usługę w potoku. Agent automatycznie pobierze obraz, uruchom go i połączy go w sieci, aby kroki potoku mogły odwoływać się do niego za pomocą bazy danych redis nazwy hosta. Po zakończeniu potoku agent będzie w stanie oczyścić kontener usługi.
Elementy robocze połączone z zatwierdzeniami GitHub w podsumowaniu wydania
W grudniu wprowadziliśmy możliwość łączenia zatwierdzeń usługi GitHub z elementami roboczymi. Z przyjemnością ogłaszamy, że na stronie podsumowania wydania są teraz widoczne wszystkie elementy robocze usługi Azure Boards połączone z zatwierdzeniami usługi GitHub. Pomoże to zespołom śledzić i pobierać więcej informacji o zatwierdzeniach wdrożonych w środowisku.
Nowe zadania usługi aplikacja systemu Azure zoptymalizowane pod kątem kodu YAML
Obsługujemy teraz cztery nowe zadania, które zapewniają łatwy, ale zaawansowany sposób wdrażania usług aplikacja systemu Azure z myślą o nowoczesnych deweloperach. Te zadania mają zoptymalizowaną składnię YAML, która ułatwia i intuicyjne tworzenie wdrożeń w usługach aplikacja systemu Azure Services, takich jak WebApps, FunctionApps, WebApps for Containers i FunctionApps for Containers na platformach Windows i Linux.
Obsługujemy również nowe zadanie narzędzia do przekształcania plików i zastępowania zmiennych dla formatów XML i JSON.
Obsługa uwierzytelniania usługi Azure Active Directory (AD) dla zadania usługi Azure SQL
Zadanie usługi Azure SQL zostało ulepszone w celu obsługi nawiązywania połączenia z bazą danych przy użyciu usługi Azure AD (zintegrowane i hasła) oraz parametry połączenia oprócz istniejącej obsługi uwierzytelniania programu SQL Server.
Wpięcie usługi adnotacji Grafana
Teraz obsługujemy nowy element zaczepienia usługi, który umożliwia dodawanie adnotacji Grafana dla zdarzeń Ukończone wdrożenie do pulpitu nawigacyjnego narzędzia Grafana. Dzięki temu można skorelować wdrożenia ze zmianami w metrykach aplikacji lub infrastruktury, które są wizualizowane na pulpicie nawigacyjnym narzędzia Grafana.
Zadania wykonywania zapytań o alerty usługi Azure Monitor
Poprzednia wersja zadania Wykonywanie zapytań w usłudze Azure Monitors obsługiwała wykonywanie zapytań dotyczących alertów tylko w klasycznym środowisku monitorowania. Ta nowa wersja zadania umożliwia wykonywanie zapytań o alerty dotyczące ujednoliconego środowiska monitorowania wprowadzonego niedawno przez usługę Azure Monitor.
Bezpośrednie wprowadzanie pliku specyfikacji w zadaniu wdrażania na platformie Kubernetes
Wcześniej zadanie wdrożenia Kubernetes wymagało podania ścieżki pliku dla konfiguracji. Teraz możesz również dodać konfigurację w tekście.
Zadanie instalatora interfejsu wiersza polecenia platformy Docker
To zadanie umożliwia instalację dowolnej wersji interfejsu wiersza polecenia platformy Docker na agentach określonych przez użytkownika.
Środowisko Java ze wsparciem długoterminowym (LTS, long-term support) na agentach hostowanych firmy Microsoft
Wcześniej agenci hostowani przez firmę Microsoft mieli wstępnie zainstalowane zestawy JDK, które zostały przeciążone przez złożone licencjonowanie, ograniczenia użytkowników końcowych i brak długoterminowej pomocy technicznej. W tej aktualizacji zastąpiliśmy zestawy JDK przetestowanymi, certyfikowanymi kompilacjami LTS zestawu OpenJDK firmy Azul Systems. Deweloperzy języka Java korzystający z platformy Azure mogą teraz tworzyć i uruchamiać produkcyjne aplikacje Java przy użyciu kompilacji Azul Systems Zulu Enterprise openJDK bez ponoszenia dodatkowych kosztów pomocy technicznej.
Ta nowa oferta została zaprojektowana w celu zapewnienia, że hostowane przez firmę Microsoft kompilacje i wdrożenia języka Java są bezpłatne dzięki włączeniu kwartalnych aktualizacji zabezpieczeń i poprawek usterek, a także krytycznych aktualizacji poza pasmem i poprawek zgodnie z potrzebami. Jeśli obecnie tworzysz lub uruchamiasz aplikacje Java lokalnie lub z innymi zestawami JDK, rozważ przejście do platformy Zulu na platformie Azure, aby uzyskać bezpłatną pomoc techniczną i konserwację. Aby uzyskać więcej informacji, zobacz blog Microsoft and Azul Systems bring free Java LTS support to Azure (Microsoft and Azul Systems bring free Java LTS support to Azure).
Obsługa języka YAML na potrzeby potoków Bitbucket Cloud
Wcześniej potoki oparte na języku YAML nie obsługiwały usługi Bitbucket Cloud. Teraz możesz użyć języka YAML, aby zdefiniować potoki usługi Bitbucket Cloud lub użyć projektanta wizualnego, aby wykonać to samo. Aby użyć języka YAML, dodaj plik azure-pipelines.yml do repozytorium. W usłudze Azure Pipelines wybierz pozycję Nowy potok kompilacji, a następnie wybierz pozycję Użyj hiperlinku projektanta wizualnego, wybierz pozycję "Bitbucket Cloud" i "YAML". W tym miejscu możesz wprowadzić ścieżkę do pliku YAML repozytorium.
Aby uzyskać więcej informacji, zobacz przewodnik składni YAML i repozytorium GitHub przykładów YAML.
Unikanie wyzwalania wielu kompilacji ciągłej integracji w przypadku żądań ściągnięcia
Szablony kompilacji YAML dołączone do usługi Azure Pipelines zostały skonfigurowane do wyzwalania kompilacji dla dowolnej gałęzi w repozytorium. Obejmowało to gałęzie tematów żądania ściągnięcia. W rezultacie dwa kompilacje zostały wyzwolone podczas tworzenia żądań ściągnięcia. Jedna kompilacja gałęzi żądania ściągnięcia w odpowiedzi na wyzwalacz ciągłej integracji, a druga kompilacja dla gałęzi żądania ściągnięcia w odpowiedzi na wyzwalacz żądania ściągnięcia.
Korzystając z poniższego fragmentu kodu YAML, wbudowane szablony YAML zostaną skonfigurowane do wyzwalania kompilacji ciągłej integracji tylko dla gałęzi głównej. Nowe żądania ściągnięcia będą nadal kompilować przy użyciu wyzwalacza żądania ściągnięcia. Aby uzyskać więcej informacji, zobacz dokumentację wyzwalaczy potoku kompilacji .
trigger:
- main
Zmienianie numerów kompilacji, przekazywanie i pobieranie artefaktów w kompilacjach rozwidlonych repozytoriów
Do tej pory kompilacje weryfikacji żądań ściągnięcia dla rozwidlonych repozytoriów nie miały uprawnień do przekazywania i pobierania artefaktów kompilacji ani zmieniania numeru kompilacji. Uprawnienia zostały ograniczone, ponieważ było niezabezpieczone, aby uprawnienia agenta były dostępne w szerszym zakresie podczas kompilacji rozwidlenia wyzwalanej przez nieznanego użytkownika. Dzięki tej aktualizacji uprawnienia agenta są ograniczone tak, aby potok mógł wykonywać te operacje, jeśli zajdzie taka potrzeba.
Poniżej znajduje się przykład kodu YAML, którego można użyć do archiwizowania danych wyjściowych kompilacji w pliku tar.gz w katalogu przejściowym artefaktu. Następnie publikuje dane wyjściowe w usłudze Azure Pipelines, które mają być skojarzone z kompilacją. Aby uzyskać więcej informacji, zobacz dokumentację zadania Archive Files i Publish Build Artifacts (Publikowanie artefaktów kompilacji).
- task: ArchiveFiles@2
inputs:
archiveType: 'tar'
tarCompression: 'gz'
includeRootFolder: false
rootFolderOrFile: '$(build.sourcesDirectory)/target'
archiveFile: '$(build.artifactStagingDirectory)/$(build.buildId).tar.gz'
- task: PublishBuildArtifacts@1
inputs:
pathtoPublish: '$(build.artifactStagingDirectory)'
Nowa opcja w zadaniu Publikuj wyniki testu umożliwiająca zakończenie kompilacji niepowodzeniem w przypadku testów zakończonych niepowodzeniem
Zadanie Publikowanie wyników testów służy do publikowania wyników testów w usłudze Azure Pipelines, gdy testy są uruchamiane przy użyciu wybranego modułu uruchamiającego testy. Do tej pory zadanie po prostu opublikuje wyniki z pliku wyników i nie zakończy się niepowodzeniem kompilacji, nawet jeśli plik wyników zawierał testy, które zakończyły się niepowodzeniem. Oznaczało to, że trzeba napisać niestandardowe kroki, aby kompilacja nie powiodła się w przypadku niepowodzeń testów.
Dodaliśmy teraz opcję w zadaniu, aby zakończyć się niepowodzeniem kompilacji, jeśli istnieją jakiekolwiek testy, które zakończyły się niepowodzeniem.
Aktualizacje do witryny Azure Portal na potrzeby tworzenia projektu usługi Azure DevOps
Witryna Azure Portal zawiera teraz dodatkowe funkcje umożliwiające obsługę większej liczby struktur i usług podczas tworzenia projektu usługi Azure DevOps. Poniżej znajduje się lista zmian dla każdego obszaru.
Framework
Azure IoT to w pełni zarządzana usługa, która zapewnia analizę w chmurze lokalnie na różnych platformach urządzeń IoT. Teraz możesz utworzyć projekt usługi Azure DevOps w witrynie Azure Portal i użyć prostego IoT jako struktury aplikacji.
Usługa
Wcześniej przepływ pracy Tworzenie projektu usługi Azure DevOps w witrynie Azure Portal obsługiwał tylko opcję Utwórz nowy jako opcję dla usługi Kubernetes Service. Dodano nową opcję umożliwiającą wybranie istniejącego klastra jako celu wdrożenia dla konfiguracji potoku.
Konfigurowanie i wdrażanie w bazie danych CosmosDB przy użyciu witryny Azure Portal
Obecnie możesz użyć przepływu pracy projektu Usługi Azure DevOps w witrynie Azure Portal, aby skonfigurować potoki kompilacji i wydania dla repozytorium Git. Teraz możesz wdrożyć w usłudze Azure Web App for Containers (Linux) lub Azure Kubernetes Service z usługą CosmosDB aprowizowaną jako baza danych służącą do tworzenia kopii zapasowych aplikacji na tych obiektach docelowych. Jest to obecnie dostępne dla wszystkich szablonów Node.js i oczekujemy, że w przyszłości dodamy obsługę innych szablonów.
Konfigurowanie kompilacji i potoków wydania dla usługi Functions w witrynie Azure Portal
Teraz możesz użyć przepływu pracy projektu Usługi Azure DevOps w witrynie Azure Portal, aby skonfigurować potoki kompilacji i wydania dla repozytorium Git, które wdrażają usługę Azure Functions 2.0 (Windows). Ta funkcja jest dostępna dla platform Node.js i .NET Core.
Azure Artifacts
Statystyki użycia pakietów
Do tej pory usługa Azure Artifacts nie zapewniała możliwości pomiaru użycia ani popularności pakietów. Dzięki tej aktualizacji dodaliśmy liczbę plików do pobrania i użytkowników na stronach listy pakietów i szczegółów pakietu. Statystyki można zobaczyć po prawej stronie każdej ze stron.
Witryna Wiki
Czcionka monospaced dla edytora języka Markdown typu wiki
Wraz z wprowadzeniem czcionek monospaced dla edytora języka Markdown typu wiki czytelność nie jest już wyzwaniem. Źródło języka Markdown wygląda czyste i łatwe do odczytania. Ta funkcja została o priorytyzowana na podstawie tego biletu sugestii.
Pogrubione tytuły stron typu wiki
Wcześniej tytuł strony typu wiki i nagłówek 1 wyglądał tak samo. Utrudniło to czytelnikom rozróżnienie między nimi. Teraz tytuły stron typu wiki zostały pogrubione i różnią się od nagłówka 1. Ta funkcja została o priorytyzowana na podstawie tego biletu sugestii.
Wstawianie tabel w języku Markdown
Tworzenie tabel języka Markdown w witrynie typu wiki nie jest już wyzwaniem. Teraz możesz dodać tabelę Markdown za pomocą kliknięcia przycisku. Ta funkcja została o priorytyzowana na podstawie tego biletu sugestii funkcji.
Osadzanie wyników zapytań usługi Azure Boards w witrynie Typu Wiki
Teraz możesz osadzić wyniki zapytania usługi Azure Boards na stronie typu wiki w postaci tabeli. Na poniższej ilustracji przedstawiono przykładową stronę typu wiki z listą wszystkich funkcji wydanych i wszystkimi aktywnymi usterkami w bieżącym przebiegu osadzonym w witrynie typu wiki. Zawartość wyświetlana na stronie używa istniejącego zapytania elementu roboczego. Dzięki tej nowej funkcji możesz tworzyć zawartość dynamiczną i nie trzeba się martwić o ręczne aktualizowanie strony typu wiki.
Wyniki zapytania można dodać w dwóch krokach
- Kliknij przycisk "Wyniki zapytania" na pasku narzędzi edycji.
- Wybierz wymagane zapytanie i kliknij przycisk "Wstaw".
Wyniki zapytania można teraz wyświetlić w postaci tabeli po zapisaniu strony.
Jest to priorytetowe w oparciu o następujące sugestie dotyczące funkcji:
- Zapytania dotyczące elementów roboczych w witrynie typu wiki
- Dodawanie dynamicznej zawartości typu wiki
Następne kroki
Uwaga
Te funkcje będą wdrażane w ciągu najbliższych dwóch do trzech tygodni.
Przeczytaj o nowych funkcjach poniżej i przejdź do usługi Azure DevOps, aby wypróbować je samodzielnie.
Jak przekazać opinię
Chcielibyśmy usłyszeć, co myślisz o tych funkcjach. Użyj menu opinii, aby zgłosić problem lub przekazać sugestię.
Możesz również uzyskać porady i odpowiedzi na pytania społeczności w witrynie Stack Overflow.
Dzięki,
Jeremy Epling