Uwaga
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
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:
- Skompiluj projekt przy użyciu narzędzi Maven, Gradle lub Ant.
- Uruchamianie testów i narzędzi do analizy kodu.
- Opublikuj swoją aplikację za pomocą potoku i usługi Azure Artifacts.
- Wdróż aplikację w usłudze Azure App Service, usłudze Azure Functions lub usłudze Azure Kubernetes Service.
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
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.
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.
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ć.
Po wyświetleniu karty Konfigurowanie potoku, wybierz Maven, Gradle lub Ant, w zależności od tego, jak chcesz zbudować swój kod.
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.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 Zadanie, by 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 Maven, Gradle lub Ant, w zależności od tego, jak chcesz zbudować swój kod.
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.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.
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.