Tworzenie aplikacji Java

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

Potok można użyć do automatycznego:

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

Wymagania wstępne

Aby uruchomić następujący przykład, musisz mieć następujące elementy:

  • Konto usługi GitHub, na którym można utworzyć repozytorium. Utwórz je bezpłatnie.
  • Dostęp do kolekcji usługi Azure DevOps Server.
  • Możliwość uruchamiania usługi Azure Pipelines na własnych agentach usługi Azure DevOps.
  • Projekt usługi Azure DevOps. Jeśli go nie masz, utwórz teraz projekt .

Tworzenie repozytorium GitHub

Rozwidlenie następującego repozytorium na koncie usługi GitHub:

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

Tworzenie potoku

  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. Wykonaj kroki kreatora, wybierając najpierw usługę GitHub jako lokalizację kodu źródłowego. Być może nastąpi przekierowanie do usługi GitHub w celu zalogowania się. Jeśli tak, wprowadź poświadczenia usługi 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.

  5. Po wyświetleniu karty Konfigurowanie potoku wybierz pozycję Maven, Gradle lub Ant w zależności od sposobu kompilowania kodu.

  6. Plik azure-pipelines-yml zawierający definicję potoku jest tworzony w repozytorium i otwierany w edytorze YAML. Potok można dostosować, 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 pozycję Zadanie , aby 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łączenie do usługi 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 pozycję Maven, Gradle lub Ant w zależności od sposobu kompilowania kodu.

  7. Plik azure-pipelines-yml zawierający definicję potoku jest tworzony w repozytorium i otwierany w edytorze YAML. Potok można dostosować, 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.

Teraz masz działający potok YAML (azure-pipelines.yml) w repozytorium, który jest gotowy do dostosowania. Aby wprowadzić zmiany w potoku, wybierz go na stronie Potoki , a następnie edytujazure-pipelines.yml plik.

Środowisko kompilacji

Za pomocą usługi Azure Pipelines można tworzyć aplikacje Java bez konieczności konfigurowania własnej infrastruktury. Można tworzyć na obrazach systemu Windows, Linux lub macOS. Agenci hostowani przez firmę Microsoft w usłudze Azure Pipelines mają nowoczesne zestawy JDK i inne narzędzia dla wstępnie zainstalowanego języka Java. Aby dowiedzieć się, które wersje języka Java są zainstalowane, zobacz Agenci hostowani przez firmę Microsoft.

Aby wybrać odpowiedni obraz, zaktualizuj 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.

Zamiast używania agentów hostowanych przez firmę Microsoft można skonfigurować własnych agentów z zainstalowanym językiem Java. Możesz również użyć własnych agentów, aby zaoszczędzić więcej czasu, jeśli masz duże repozytorium lub uruchamiasz kompilacje przyrostowe.

Kompilacje są uruchamiane na własnym agencie. Upewnij się, że masz środowisko Java i narzędzia niezbędne do utworzenia przy użyciu wybranej metody zainstalowanej 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.

Aby na przykład określić pulę agentów i agenta z funkcją Maven, dodaj 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ć krok kompilacji do potoku dla każdej metody.

Maven

W przypadku kompilacji narzędzia Maven do pliku są dodawane azure-pipelines.yml następujące zadania. Zastąp wartości zgodne z projektem. 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'

W przypadku platformy 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

Dostosuj wartość, mavenPomFile jeśli pom.xml plik 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/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 do pliku azure-pipelines.yml zostanie dodane następujące zadanie. Aby uzyskać więcej informacji na temat tych opcji, zobacz zadanie Gradle .

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

Otoka narzędzia Gradle

Musisz mieć gradlew plik w repozytorium. Jeśli go nie masz, możesz go wygenerować, uruchamiając gradle wrapper polecenie w katalogu głównym projektu. Aby uzyskać informacje na temat tworzenia otoki Gradle, zobacz 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.

Dostosowywanie ścieżki kompilacji

Dostosuj wartość, workingDirectory jeśli gradlew plik 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 gradlew plik 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ń podrzędnych dla zadań, które powinny być wykonywane przez narzędzie Gradle, na przykład build lub check. Aby uzyskać więcej informacji na temat typowych zadań wtyczki Java dla narzędzia Gradle, zobacz dokumentację narzędzia Gradle.

Ant

W przypadku kompilacji Ant dodaj następujące zadanie do azure-pipelines.yml pliku. Zmień wartości, takie jak ścieżka do build.xml pliku, 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ć build.xml plik w 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, dodaj jeden z poniższych fragmentów kodu do azure-pipelines.yml pliku.

Skrypt wbudowany

Krok script: uruchamia wbudowany skrypt przy użyciu powłoki Bash w systemach Linux i macOS i Wiersza polecenia w systemie Windows. Aby uzyskać szczegółowe informacje, zobacz zadanie powłoki Bash lub wiersza polecenia.

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 skrypt powłoki, skrypt usługi Batch lub zadanie programu PowerShell .

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

Następne kroki

Dane wyjściowe kompilacji można opublikować w potoku. Aplikację można spakować i opublikować w pakiecie Maven lub pliku war/jar , który ma zostać wdrożony w aplikacji internetowej.

Dowiedz się więcej o tworzeniu potoku ciągłej integracji/ciągłego wdrażania dla celu wdrożenia: