Udostępnij za pośrednictwem


Tworzenie aplikacji Java

Azure DevOps Services | Azure DevOps Server 2022 — Azure DevOps Server 2019

Użyj usługi Azure Pipelines, aby zautomatyzować tworzenie, testowanie i wdrażanie aplikacji Java. W tym artykule wyjaśniono, jak skonfigurować pipeline dla projektów Java przy użyciu narzędzi takich jak Maven, Gradle lub Ant. Dowiesz się również, jak wdrożyć aplikację w usługach platformy Azure, takich jak App Service, Functions lub Kubernetes.

Użyj rurociągu, aby:

Jeśli pracujesz nad projektami systemu Android, zobacz Kompilowanie, testowanie i wdrażanie aplikacji systemu Android.

Wymagania wstępne

Produkt Wymagania
Azure DevOps Projekt usługi Azure DevOps.
— Możliwość uruchamiania pipeline'ów na agentach hostowanych przez firmę Microsoft. Możesz kupić zadanie równoległe lub poprosić o bezpłatny poziom.
— Podstawowa wiedza na temat języka YAML i usługi Azure Pipelines. Aby uzyskać więcej informacji, zobacz artykuł Tworzenie pierwszego potoku.
Uprawnienia: -
     - Aby utworzyć potok: musisz należeć do grupy Contributorzy, a grupa musi mieć uprawnienie Utworzyć potok ustawione na Zezwalaj. Członkowie grupy Administratorzy projektu mogą zarządzać potokami.
    - Aby utworzyć połączenia usług: musisz mieć rolę Administrator lub Twórca dla połączeń usług.
Usługa GitHub — Konto GitHub .
Połączenie usługi GitHub w celu autoryzowania usługi Azure Pipelines.
Błękit Subskrypcja platformy Azure.
Produkt Wymagania
Azure DevOps Projekt usługi Azure DevOps.
- Samodzielnie hostowany agent. Aby je utworzyć, zobacz Self-hosted agents (Agenci hostowani samodzielnie).
— Podstawowa wiedza na temat języka YAML i usługi Azure Pipelines. Aby uzyskać więcej informacji, zobacz artykuł Tworzenie pierwszego potoku.
Uprawnienia: -
    - Aby utworzyć potok: musisz należeć do grupy Contributorzy, a grupa musi mieć uprawnienie Utworzyć potok ustawione na Zezwalaj. Członkowie grupy Administratorzy projektu mogą zarządzać potokami.
    - Aby utworzyć połączenia usług: musisz mieć rolę Administrator lub Twórca dla połączeń usług.
Usługa GitHub — Konto GitHub .
Połączenie usługi GitHub w celu autoryzowania usługi Azure Pipelines.
Błękit Subskrypcja platformy Azure.

Tworzenie repozytorium GitHub

Sforkuj następujące repozytorium na swoje konto GitHub.

https://github.com/MicrosoftDocs/pipelines-java

Utwórz potok

  1. Zaloguj się do organizacji usługi Azure DevOps i przejdź do projektu.

  2. Przejdź do obszaru Potoki, a następnie wybierz pozycję Nowy potok lub Utwórz potok , jeśli utworzysz pierwszy potok w projekcie.

  3. Postępuj zgodnie z instrukcjami kreatora, zaczynając od wybrania usługi GitHub jako lokalizacji kodu źródłowego. Być może nastąpi przekierowanie do usługi GitHub w celu zalogowania się. Jeśli tak, wprowadź swoje dane logowania do GitHub.

  4. Wybierz repozytorium. Możesz zostać przekierowany do usługi GitHub, aby zainstalować aplikację Azure Pipelines. Jeśli tak, wybierz pozycję Zatwierdź i zainstaluj , aby kontynuować.

  5. Po wyświetleniu karty Konfigurowanie potoku, wybierz Maven, Gradle lub Ant, w zależności od tego, jak chcesz zbudować swój kod.

  6. Plik azure-pipelines.yml zawierający definicję potoku jest tworzony w repozytorium i otwierany w edytorze YAML. Można dostosować pipeline, dodając więcej zadań lub modyfikując istniejące zadania. Aby uzyskać więcej informacji na temat zadań kompilacji, zobacz Kompilowanie kodu.

  7. Po zakończeniu edycji azure-pipelines.ymlwybierz pozycję Zapisz i uruchom.

  8. Aby zatwierdzić plik w azure-pipelines.yml repozytorium, wybierz pozycję Zapisz i uruchom ponownie.

Wybierz Zadanie, by obserwować działanie potoku.

  1. Przejdź do kolekcji i wybierz projekt.

  2. Wybierz pozycję Potoki, a następnie wybierz pozycję Nowy potok lub Utwórz potok , jeśli utworzysz pierwszy potok w projekcie.

  3. Wykonaj kroki kreatora, wybierając najpierw pozycję GitHub Enterprise Server jako lokalizację kodu źródłowego.

  4. Użyj istniejącego połączenia usługi GitHub lub utwórz nowe.

    Aby utworzyć połączenie z usługą:

    1. Wybierz pozycję Połącz z serwerem GitHub Enterprise Server.
    2. Wprowadź adres URL serwera GitHub Enterprise Server.
    3. Wprowadź osobisty token dostępu serwera GitHub Enterprise Server. Jeśli nie masz osobistego tokenu dostępu, możesz go utworzyć na koncie usługi GitHub Enterprise Server. Aby uzyskać więcej informacji, zobacz Tworzenie osobistego tokenu dostępu.
  5. Wybierz repozytorium. Możesz zostać przekierowany do usługi GitHub, aby zainstalować aplikację Azure Pipelines. Jeśli tak, wybierz pozycję Zatwierdź i zainstaluj.

  6. Po wyświetleniu karty Konfigurowanie potoku, wybierz Maven, Gradle lub Ant, w zależności od tego, jak chcesz zbudować swój kod.

  7. Plik azure-pipelines.yml zawierający definicję potoku jest tworzony w repozytorium i otwierany w edytorze YAML. Można dostosować pipeline, dodając więcej zadań lub modyfikując istniejące zadania. Aby uzyskać więcej informacji na temat zadań kompilacji, zobacz Kompilowanie kodu.

  8. Po zakończeniu edycji azure-pipelines.ymlwybierz pozycję Zapisz i uruchom.

  9. Aby zatwierdzić plik w azure-pipelines.yml repozytorium, wybierz pozycję Zapisz i uruchom ponownie.

Możesz wybrać pozycję Zadanie , aby obejrzeć potok w akcji.

Masz teraz działający przepływ YAML (azure-pipelines.yml) w repozytorium, który jest już gotowy do dostosowania. Aby wprowadzić zmiany w potoku, wybierz go na stronie Potoki, a następnie Edytuj ten azure-pipelines.yml plik.

Środowisko kompilacji

Używanie usługi Azure Pipelines do tworzenia aplikacji Java bez konfigurowania infrastruktury. Tworzenie obrazów systemu Windows, Linux lub macOS. Agenci Microsoftu w usłudze Azure Pipelines mają zainstalowane nowoczesne JDK i inne narzędzia do programowania w języku Java. Aby sprawdzić, które wersje języka Java są zainstalowane, zobacz Agenci hostowani przez firmę Microsoft.

Wybierz odpowiedni obraz, aktualizując poniższy fragment kodu w azure-pipelines.yml pliku.

pool:
  vmImage: 'ubuntu-latest' # other options: 'macOS-latest', 'windows-latest'

Aby uzyskać pełną listę obrazów, zobacz Agenci hostowani przez firmę Microsoft .

Alternatywą dla agentów hostowanych przez firmę Microsoft jest skonfigurowanie własnych agentów z zainstalowanym językiem Java. Użyj własnych agentów, aby zaoszczędzić czas, jeśli masz duże repozytorium lub uruchamiasz kompilacje przyrostowe.

Kompilacje są uruchamiane na agencie własnego hostingu. Upewnij się, że język Java i narzędzia wymagane dla wybranej metody kompilacji są zainstalowane na hoście agenta.

Możesz wybrać pulę agentów i możliwości agenta w sekcjach Pula agentów i Specyfikacja agenta na karcie Opcje w edytorze potoków.

Na przykład określ pulę agentów i agenta z funkcją Maven, dodając następujący fragment kodu do azure-pipelines.yml pliku.

pool: 
  name: MyPool
  demands: maven

Tworzenie kodu

Aplikację Java można utworzyć za pomocą narzędzia Maven, Gradle, Ant lub skryptu. W poniższych sekcjach pokazano, jak dodać etap kompilacji do potoku dla każdej z metod.

Maven

W przypadku kompilacji narzędzia Maven dodaj następujące zadania do azure-pipelines.yml pliku. Zamień wartości, aby pasowały do twojego projektu. Aby uzyskać więcej informacji na temat opcji zadań, zobacz zadanie Maven.

steps:
- task: Maven@4
  inputs:
    mavenPomFile: 'pom.xml'
    mavenOptions: '-Xmx3072m'
    javaHomeOption: 'JDKVersion'
    jdkVersionOption: 'default'
    jdkArchitectureOption: 'x64'
    publishJUnitResults: true
    testResultsFiles: '**/TEST-*.xml'
    goals: 'package'

Dla Spring Boot możesz również użyć zadania Maven. Upewnij się, że wartość mavenPomFile odzwierciedla ścieżkę do pom.xml pliku. Jeśli na przykład używasz przykładowego repozytorium Spring Boot, ścieżka to complete/pom.xml.

Dostosowywanie ścieżki kompilacji

Ustaw wartość mavenPomFile, jeśli plik pom.xml nie znajduje się w katalogu głównym repozytorium. Wartość ścieżki pliku musi być względna względem katalogu głównego repozytorium, takiego jak IdentityService/pom.xml lub $(system.defaultWorkingDirectory)/IdentityService/pom.xml.

Dostosowywanie celów narzędzia Maven

Ustaw wartość celów na rozdzielaną spacją listę celów dla programu Maven do wykonania, na przykład clean package. Aby uzyskać szczegółowe informacje na temat typowych faz i celów języka Java, zobacz dokumentację programu Apache Maven.

Gradle

W przypadku kompilacji narzędzia Gradle dodaj następujące zadanie do azure-pipelines.yml pliku. Aby uzyskać więcej informacji na temat tych opcji, zobacz zadanie Gradle .

steps:
- task: Gradle@3
  inputs:
    workingDirectory: ''
    gradleWrapperFile: 'gradlew'
    gradleOptions: '-Xmx3072m'
    javaHomeOption: 'JDKVersion'
    jdkVersionOption: 'default'
    jdkArchitectureOption: 'x64'
    publishJUnitResults: true
    testResultsFiles: '**/TEST-*.xml'
    tasks: 'build'

Opakowanie Gradle

Upewnij się, że gradlew plik znajduje się w repozytorium. Jeśli tak nie jest, wygeneruj, uruchamiając w katalogu głównym projektu polecenie gradle wrapper. Aby uzyskać informacje na temat tworzenia wrappera Gradle, zobacz dokumentację Gradle.

Wybierz wersję narzędzia Gradle

Wersja narzędzia Gradle zainstalowana na maszynie agenta jest używana, chyba że plik repozytorium gradle/wrapper/gradle-wrapper.properties ma właściwość określającą distributionUrl inną wersję narzędzia Gradle do pobrania i użycia podczas kompilacji.

Dostosuj ścieżkę kompilacji

Ustaw wartość workingDirectory, jeśli plik gradlew nie znajduje się w katalogu głównym repozytorium. Wartość katalogu powinna być względna względem katalogu głównego repozytorium, takiego jak IdentityService lub $(system.defaultWorkingDirectory)/IdentityService.

Dostosuj wartość gradleWrapperFile, jeśli plik gradlew nie znajduje się w katalogu głównym repozytorium. Wartość ścieżki pliku powinna być względna względem katalogu głównego repozytorium, takiego jak IdentityService/gradlew lub $(system.defaultWorkingDirectory)/IdentityService/gradlew.

Dostosowywanie zadań narzędzia Gradle

Dostosuj wartość zadań dla zadań, które Gradle powinno wykonać, takich jak build lub check. Aby uzyskać więcej informacji na temat typowych zadań wtyczki Java dla narzędzia Gradle, zobacz dokumentację narzędzia Gradle.

Mrówka

Podczas kompilacji za pomocą Ant dodaj następujące zadanie do pliku azure-pipelines.yml. Zmień wartości, takie jak ścieżka pliku build.xml, aby pasować do konfiguracji projektu. Aby uzyskać więcej informacji na temat tych opcji, zobacz zadanie Ant . Jeśli używasz przykładowego repozytorium, musisz podać plik build.xml w swoim repozytorium.

steps:
- task: Ant@1
  inputs:
    workingDirectory: ''
    buildFile: 'build.xml'
    javaHomeOption: 'JDKVersion'
    jdkVersionOption: 'default'
    jdkArchitectureOption: 'x64'
    publishJUnitResults: false
    testResultsFiles: '**/TEST-*.xml'

Skrypt

Aby skompilować przy użyciu wiersza polecenia lub skryptu azure-pipelines.yml , dodaj jeden z tych fragmentów kodu do pliku.

Skrypt wbudowany

Krok script: uruchamia wbudowany skrypt za pomocą Bash na systemach Linux i macOS oraz wiersz polecenia na systemie Windows. Aby uzyskać szczegółowe informacje, zobacz zadanie Bash lub wiersz poleceń.

steps:
- script: |
    echo Starting the build
    mvn package
  displayName: 'Build with Maven'

Plik skryptu

To zadanie uruchamia plik skryptu, który znajduje się w repozytorium. Aby uzyskać szczegółowe informacje, zobacz zadanie skryptu powłoki, skryptu wsadowego lub PowerShell.

steps:
- task: ShellScript@2
  inputs:
    scriptPath: 'build.sh'

Następne kroki

Opublikuj dane wyjściowe kompilacji do pipeline'u. Spakuj i opublikuj aplikację w pakiecie Maven lub pliku war/jar , aby wdrożyć ją w aplikacji internetowej.

Dowiedz się więcej o tworzeniu pipeline CI/CD do celu wdrożeniowego.