Udostępnij za pośrednictwem


Tworzenie aplikacji Java

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

Możesz użyć potoku danych 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

Sforkuj następujące repozytorium na swoim koncie 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. Wykonaj kroki kreatora, najpierw wybierając 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ź 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.

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

  6. W repozytorium tworzony jest plik azure-pipelines.yml zawierający definicję potoku 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, aby obserwować potok w akcji.

  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 Konfiguruj potok, wybierz Maven, Gradle lub Ant w zależności od tego, jak chcesz skompilować swój kod.

  7. Plik azure-pipelines-yml zawierający definicję potoku jest tworzony w repozytorium i otwierany w edytorze YAML. Możesz 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 danych w działaniu.

Teraz masz działający potok danych YAML (azure-pipelines.yml) w swoim 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 JDK i inne narzędzia wstępnie zainstalowane dla 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 zainstalowane środowisko Java i narzędzia niezbędne do budowania przy użyciu wybranej metody 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ć etap kompilacji do potoku dla każdej z metod.

Maven

Podczas kompilacji za pomocą Maven do pliku azure-pipelines.yml dodawane są następujące zadania. 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'

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

Dostosowywanie ścieżki kompilacji

Dostosuj wartość mavenPomFile, jeśli plik pom.xml 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 komendę gradle wrapper w katalogu głównym projektu. Aby uzyskać informacje na temat tworzenia wrappera 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.

Dostosuj ścieżkę kompilacji

Dostosuj 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 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ń dla zadań, które Gradle powinien 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.

Ant

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, dodaj jeden z poniższych fragmentów kodu do azure-pipelines.yml pliku.

Skrypt wbudowany

Krok script: uruchamia wewnętrzny skrypt za pomocą powłoki Bash w systemach Linux i macOS oraz Wiersza polecenia w systemie Windows. Aby uzyskać szczegółowe informacje, zobacz zadanie Bash lub zadanie wiersz 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

Możesz opublikować wyniki kompilacji w swoim 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 pipeline CI/CD do celu wdrożeniowego.