Tworzenie aplikacji Java
Azure DevOps Services | Azure DevOps Server 2022 — Azure DevOps Server 2019
Potok można użyć do automatycznego:
- Skompiluj projekt przy użyciu narzędzi Maven, Gradle lub Ant.
- Uruchamianie testów i narzędzi do analizy kodu.
- Opublikuj aplikację w potoku i w usłudze Azure Artifacts.
- Wdróż aplikację w usłudze aplikacja systemu Azure Service, Azure Functions lub Azure Kubernetes Service.
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.
- Organizacja: Azure DevOps. Utwórz je bezpłatnie.
- Projekt usługi Azure DevOps. Jeśli go nie masz, utwórz teraz projekt .
- 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
Zaloguj się do organizacji usługi Azure DevOps i przejdź do projektu.
Przejdź do obszaru Potoki, a następnie wybierz pozycję Nowy potok lub Utwórz potok , jeśli utworzysz pierwszy potok w projekcie.
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.
Wybierz repozytorium. Możesz zostać przekierowany do usługi GitHub, aby zainstalować aplikację Azure Pipelines. Jeśli tak, wybierz pozycję Zatwierdź i zainstaluj.
Po wyświetleniu karty Konfigurowanie potoku wybierz pozycję Maven, Gradle lub Ant w zależności od sposobu kompilowania kodu.
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.Po zakończeniu edycji
azure-pipelines.yml
wybierz pozycję Zapisz i uruchom.Aby zatwierdzić plik w
azure-pipelines.yml
repozytorium, wybierz pozycję Zapisz i uruchom ponownie.
Wybierz pozycję Zadanie , aby obserwować działanie potoku.
Przejdź do kolekcji i wybierz projekt.
Wybierz pozycję Potoki, a następnie wybierz pozycję Nowy potok lub Utwórz potok , jeśli utworzysz pierwszy potok w projekcie.
Wykonaj kroki kreatora, wybierając najpierw pozycję GitHub Enterprise Server jako lokalizację kodu źródłowego.
Użyj istniejącego połączenia usługi GitHub lub utwórz nowe.
Aby utworzyć połączenie z usługą:
- Wybierz pozycję Połącz z serwerem GitHub Enterprise Server.
- Wprowadź adres URL serwera GitHub Enterprise Server.
- 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.
Wybierz repozytorium. Możesz zostać przekierowany do usługi GitHub, aby zainstalować aplikację Azure Pipelines. Jeśli tak, wybierz pozycję Zatwierdź i zainstaluj.
Po wyświetleniu karty Konfigurowanie potoku wybierz pozycję Maven, Gradle lub Ant w zależności od sposobu kompilowania kodu.
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.Po zakończeniu edycji
azure-pipelines.yml
wybierz pozycję Zapisz i uruchom.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 edytuj azure-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: