Udostępnij za pośrednictwem


Modernizacja aplikacji Copilot w usłudze GitHub — uaktualnianie dla języka Java (wersja zapoznawcza)

Ten artykuł zawiera omówienie modernizacji aplikacji Copilot w usłudze GitHub — uaktualnianie dla języka Java (wersja zapoznawcza).

Przedsiębiorstwa często zajmują się długiem technicznym w cyklach rozwoju, a modernizacja jest typowym zadaniem. Może to wymagać znacznego czasu i zasobów w celu uaktualnienia środowisk uruchomieniowych, struktur i zależności języka Java.

GitHub Copilot Modernizacja aplikacji — uaktualnienie dla Java (wersja zapoznawcza) to rozwiązanie oparte na sztucznej inteligencji, które pomaga w aktualizacji Twoich aplikacji Java. Narzędzie używa sztucznej inteligencji do wykonywania następujących zadań:

  • Przeanalizuj projekt i jego zależności i zaproponuj plan uaktualnienia.
  • Wykonaj plan, aby przekształcić projekt.
  • Automatyczne rozwiązywanie problemów podczas postępu.
  • Zgłoś wszystkie szczegóły, w tym zatwierdzenia, dzienniki i dane wyjściowe.
  • Przeprowadź sprawdzanie luk w zabezpieczeniach i luk w zabezpieczeniach (CVE) typowych luk w zabezpieczeniach i niespójności kodu po uaktualnieniu.
  • Pokaż podsumowanie, w tym zmiany plików, zaktualizowane zależności i rozwiązane problemy.
  • Generowanie przypadków testów jednostkowych oddzielnie od procesu uaktualniania.

Narzędzie integruje możliwości sztucznej inteligencji GitHub Copilot z narzędziami open source, takimi jak OpenRewrite, aby zautomatyzować złożone kroki uaktualniania. Obsługuje zarówno projekty Maven, jak i Gradle oraz uaktualnienia między wersjami Java 8, 11, 17 i 21. Narzędzie koncentruje się szczególnie na modernizacji aplikacji korzystających ze struktury Spring Boot. Proces uaktualniania zapewnia kontrolę i zapewnia przejrzystość dzięki wyświetlaniu wszystkich dzienników i danych wyjściowych.

W poniższym filmie pokazano, jak zaktualizować wersję aplikacji Java Spring przy użyciu GitHub Copilot App Modernization - upgrade for Java (wersja zapoznawcza):


Typowe przypadki użycia

Modernizacja aplikacji Copilot w usłudze GitHub — uaktualnienie dla języka Java (wersja zapoznawcza) może być używane w następujących przypadkach użycia.

  • Uaktualnij wersje środowiska uruchomieniowego Java. Bezproblemowo uaktualnij aplikację z środowiska Java 8 lub 11 do nowszych wersji, takich jak Java 17 lub 21.
  • Uaktualnij do nowszej wersji platformy. Przejście z Spring Boot 2.7 do wersji takich jak 3.2 ze sprytnym zarządzaniem zmianami przełamującymi kompatybilność.
  • Wykryj luki w zabezpieczeniach CVE. Wykrywanie i rozwiązywanie znanych luk w zabezpieczeniach w zależnościach innych firm podczas procesu uaktualniania.
  • Zapewnij spójność działania kodu. Sprawdź, czy aplikacja zachowuje się tak samo po uaktualnieniu, wykrywając i usuwając niespójności behawioralne.
  • Generuj przypadki testów jednostkowych dla projektów mających niskie pokrycie testowe. Narzędzie generowania testów jednostkowych może tworzyć przypadki testów jednostkowych niezależnie od procesu uaktualniania.

Istnieje również oddzielne narzędzie, które ułatwia migrowanie aplikacji na platformę Azure. GitHub Copilot App Modernization for Java (wersja zapoznawcza) to narzędzie oparte na sztucznej inteligencji, które zapewnia ocenę kodu i korygowanie oraz zapewnia pomyślne kompilacje w jednym rozwiązaniu, zwiększając szybkość dewelopera, jakość i pewność siebie. Aby uzyskać więcej informacji, zobacz GitHub Copilot App Modernization for Java (wersja zapoznawcza).

Koncepcje

Modernizacja aplikacji GitHub Copilot — uaktualnienie dla języka Java (wersja zapoznawcza) korzysta z opartego na przewodniku, wielofazowego procesu aktualizacji w programie Visual Studio Code. W poniższych sekcjach przedstawiono koncepcyjny model działania narzędzia:

1. Początkowy monit

W trybie agenta programu Visual Studio Code należy podać początkowy monit, taki jak Uaktualnianie projektu Java do wersji Java 17 i Spring Boot 3.2.

2. Analiza projektu

Na podstawie tego monitu narzędzie ocenia strukturę bieżącego projektu Java w obszarze roboczym, w tym narzędzie kompilacji - Maven lub Gradle - wersje JDK i zależności.

Następnie narzędzie generuje początkowy plan uaktualnienia w pliku plan.md , który przedstawia planowane zmiany.

3. Dostosowywanie planu

W tym kroku możesz przejrzeć i edytować plan uaktualniania, aby dostosować docelowe wersje zestawu JDK, struktur lub bibliotek innych firm. Po potwierdzeniu planu zostanie uruchomione uaktualnienie.

4. Automatyczne przekształcanie kodu

Oto miejsce, w którym odbywa się przekształcanie kodu. Ta transformacja składa się głównie z następujących dwóch głównych kroków:

  1. Narzędzie najpierw używa narzędzia open source o nazwie OpenRewrite w celu zastosowania przekształcenia kodu.
  2. Jeśli występują jakiekolwiek pozostałe problemy, gitHub Copilot rozwiązuje te problemy dynamicznie, dopóki nie będzie więcej problemów.

Podczas tego procesu deweloper może bezpośrednio zobaczyć postęp za pośrednictwem pliku progress.md .

5. Walidacja

Po zakończeniu poprzedniej fazy narzędzie uruchamia dodatkowe kontrole, w tym następujące testy:

  • CVE luki w zabezpieczeniach w zaktualizowanych zależnościach.
  • Zmiany zachowania kodu.

Narzędzie automatycznie próbuje rozwiązać wykryte problemy i umożliwia przeglądanie i zatwierdzanie poprawek.

6. Ostateczna weryfikacja i podsumowanie

Po zakończeniu fazy walidacji narzędzie uruchamia końcowe kontrole i przedstawia końcowe podsumowanie. W tej fazie narzędzie wykonuje następujące zadania:

  • Ponowne kompilowanie projektu i ponowne uruchamianie testów sprawdzania poprawności.
  • Zawiera kompleksowe podsumowanie aktualizacji w pliku summary.md, w tym zmiany zależności, różnice w plikach i dzienniki zatwierdzeń.

GitHub Copilot App Modernizacja — uaktualnienie dla języka Java (wersja zapoznawcza) zostało zaprojektowane, aby zwiększyć Twoje możliwości dzięki eliminacji dużej ilości pracy ręcznej i niepewności przy uaktualnianiu języka Java, oferując bezpieczniejszą i szybszą ścieżkę do modernizacji kodu dziedziczonego.

Następny krok

Szybki start: uaktualnianie projektu Java przy użyciu modernizacji aplikacji Copilot w usłudze GitHub — uaktualnianie dla języka Java (wersja zapoznawcza)