Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019
Usare Azure Pipelines per automatizzare la compilazione, il test e la distribuzione di applicazioni Java. Questo articolo illustra come configurare una pipeline per i progetti Java usando strumenti come Maven, Gradle o Ant. Si apprenderà anche come distribuire l'app nei servizi di Azure, ad esempio Servizio app, Funzioni o Kubernetes.
Usare una pipeline per:
- Compilare il progetto con Maven, Gradle o Ant.
- Eseguire test e strumenti di analisi del codice.
- Pubblica la tua app usando una pipeline e Azure Artifacts.
- Distribuire l'app in servizio app Azure, Funzioni di Azure o servizio Azure Kubernetes.
Se si sta lavorando a un progetto Android, vedere Compilare, testare e distribuire app Android.
Prerequisiti
Prodotto | Requisiti |
---|---|
Azure DevOps | - Un progetto Azure DevOps. - La possibilità di eseguire pipeline su agenti ospitati da Microsoft. È possibile acquistare un incarico parallelo oppure richiedere un piano gratuito. - Conoscenza di base di YAML e Azure Pipelines. Per maggiori informazioni, vedere Creare la prima pipeline. Autorizzazioni - : - Per creare una pipeline, è necessario trovarsi nel gruppo Collaboratori e il gruppo deve avere l'autorizzazione Crea pipeline di compilazione impostata su Consenti. I membri del gruppo Project Administrators possono gestire le pipeline. - Per creare connessioni al servizio: è necessario disporre del ruolo di Administrator o Creator per le connessioni al servizio . |
GitHub | - Un account GitHub. - Una connessione al servizio GitHub per autorizzare Azure Pipelines. |
Azzurro | Una sottoscrizione di Azure. |
Prodotto | Requisiti |
---|---|
Azure DevOps | - Un progetto Azure DevOps. - Agente ospitato autonomamente. Per crearne uno, vedere la sezione su Agenti self-hosted. - Conoscenza di base di YAML e Azure Pipelines. Per maggiori informazioni, vedere Creare la prima pipeline. Autorizzazioni - : - Per creare una pipeline, è necessario trovarsi nel gruppo Collaboratori e il gruppo deve avere l'autorizzazione Crea pipeline di compilazione impostata su Consenti. I membri del gruppo Project Administrators possono gestire le pipeline. - Per creare connessioni al servizio: è necessario disporre del ruolo di Administrator o Creator per le connessioni al servizio . |
GitHub | - Un account GitHub. - Una connessione al servizio GitHub per autorizzare Azure Pipelines. |
Azzurro | Una sottoscrizione di Azure. |
Crea un repository GitHub
Creare una copia tramite fork del repository seguente nell'account GitHub:
https://github.com/MicrosoftDocs/pipelines-java
Creare un flusso di lavoro
Accedere all'organizzazione di Azure DevOps e passare al progetto.
Passare a Pipeline e quindi selezionare Nuova pipeline o Crea pipeline se si crea la prima pipeline nel progetto.
Seguire i passaggi della procedura guidata, a partire da GitHub come percorso del codice sorgente. Si potrebbe essere reindirizzati a GitHub per l'accesso. In questo caso, immettere le credenziali di GitHub.
Seleziona il repository. È possibile che si venga reindirizzati a GitHub per installare l'app Azure Pipelines. In tal caso, selezionare Approva e installa.
Quando viene visualizzata la scheda Configura la pipeline , selezionare Maven, Gradle o Ant a seconda della modalità di compilazione del codice.
Un
azure-pipelines.yml
file contenente la definizione della pipeline viene creato nel repository e aperto nell'editor YAML. È possibile personalizzare la pipeline aggiungendo altre attività o modificando le attività esistenti. Per altre informazioni sulle attività di compilazione, vedere Creare il codice.Al termine della modifica
azure-pipelines.yml
, selezionare Salva ed esegui.Per eseguire il commit del file nel
azure-pipelines.yml
repository, selezionare Salva ed esegui di nuovo.
Selezionare Attività per controllare la pipeline in azione.
Passare alla raccolta e selezionare il progetto.
Selezionare Pipeline e quindi selezionare Nuova pipeline o Crea pipeline se si crea la prima pipeline nel progetto.
Eseguire i passaggi della procedura guidata selezionando prima GitHub Enterprise Server come percorso del codice sorgente.
Usare una connessione al servizio GitHub esistente o crearne una nuova.
Per creare una connessione al servizio:
- Selezionare Connetti a GitHub Enterprise Server.
- Immettere l'URL di GitHub Enterprise Server.
- Immettere il token di accesso personale di GitHub Enterprise Server. Se non si ha un token di accesso personale, è possibile crearne uno nell'account GitHub Enterprise Server. Per altre informazioni, vedere Creazione di un token di accesso personale.
Seleziona il repository. È possibile che si venga reindirizzati a GitHub per installare l'app Azure Pipelines. In tal caso, selezionare Approva e installa.
Quando viene visualizzata la scheda Configura la pipeline , selezionare Maven, Gradle o Ant a seconda della modalità di compilazione del codice.
Un
azure-pipelines.yml
file contenente la definizione della pipeline viene creato nel repository e aperto nell'editor YAML. È possibile personalizzare la pipeline aggiungendo altre attività o modificando le attività esistenti. Per altre informazioni sulle attività di compilazione, vedere Creare il codice.Al termine della modifica
azure-pipelines.yml
, selezionare Salva ed esegui.Per eseguire il commit del file nel
azure-pipelines.yml
repository, selezionare Salva ed esegui di nuovo.
È possibile selezionare Job per monitorare la pipeline in azione.
È ora disponibile una pipeline YAML funzionante (azure-pipelines.yml
) nel repository che è pronta per la personalizzazione. Per apportare modifiche alla pipeline, selezionarla nella pagina Pipeline e quindi Modificare il azure-pipelines.yml
file.
Ambiente di compilazione
Usare Azure Pipelines per creare app Java senza configurare alcuna infrastruttura. Costruire su immagini Windows, Linux o macOS. Gli agenti ospitati da Microsoft in Azure Pipelines hanno JDK moderni e altri strumenti per Java preinstallati. Per verificare quali versioni di Java sono installate, vedere Agenti ospitati da Microsoft.
Per selezionare l'immagine appropriata, aggiornare il frammento di codice seguente nel azure-pipelines.yml
file.
pool:
vmImage: 'ubuntu-latest' # other options: 'macOS-latest', 'windows-latest'
Per un elenco completo delle immagini, vedere Agenti ospitati da Microsoft.
In alternativa all'uso di agenti ospitati da Microsoft, configurare agenti self-hosted con Java installato. È anche possibile usare agenti self-hosted per risparmiare più tempo se si dispone di un repository di grandi dimensioni o si eseguono compilazioni incrementali.
Le build vengono eseguite su un agente autogestito. Assicurarsi che Java e gli strumenti necessari per la compilazione con il metodo scelto siano installati nell'host dell'agente.
È possibile selezionare il pool di agenti e le funzionalità dell'agente nelle sezioni Pool di agenti e Specifica agente della scheda Opzioni nell'editor della pipeline.
Ad esempio, per specificare il pool di agenti e un agente con la funzionalità Maven, aggiungere il frammento di codice seguente al azure-pipelines.yml
file.
pool:
name: MyPool
demands: maven
Compilare il codice
È possibile compilare l'app Java con Maven, Gradle, Ant o uno script. Le sezioni seguenti illustrano come aggiungere un passaggio di compilazione alla pipeline per ogni metodo.
Intenditore
Per una compilazione Maven, aggiungere le attività seguenti al azure-pipelines.yml
file. Sostituire i valori in modo che corrispondano al progetto. Per ulteriori informazioni sulle opzioni del task, vedere il task Maven.
steps:
- task: Maven@4
inputs:
mavenPomFile: 'pom.xml'
mavenOptions: '-Xmx3072m'
javaHomeOption: 'JDKVersion'
jdkVersionOption: 'default'
jdkArchitectureOption: 'x64'
publishJUnitResults: true
testResultsFiles: '**/TEST-*.xml'
goals: 'package'
Per Spring Boot, è possibile usare anche l'attività Maven . Assicurarsi che il mavenPomFile
valore rifletta il percorso del pom.xml
file. Ad esempio, se si usa il repository di esempio Spring Boot, il percorso è complete/pom.xml
.
Personalizzare il percorso di compilazione
Impostare il valore mavenPomFile
se il file pom.xml
non si trova nella directory principale del repository. Il valore del percorso del file deve essere relativo alla radice del repository, ad esempio IdentityService/pom.xml
o $(system.defaultWorkingDirectory)/IdentityService/pom.xml
.
Personalizzare gli obiettivi di Maven
Impostare il valore degli obiettivi su un elenco di obiettivi separati da spazi bianchi che Maven deve eseguire, ad esempio clean package
. Per informazioni dettagliate sulle fasi e gli obiettivi comuni di Java, vedere la documentazione di Maven di Apache.
Gradle
Per una compilazione Gradle, aggiungere l'attività seguente al file azure-pipelines.yml
. Per altre informazioni su queste opzioni, vedere l'attività Gradle .
steps:
- task: Gradle@2
inputs:
workingDirectory: ''
gradleWrapperFile: 'gradlew'
gradleOptions: '-Xmx3072m'
javaHomeOption: 'JDKVersion'
jdkVersionOption: 'default'
jdkArchitectureOption: 'x64'
publishJUnitResults: true
testResultsFiles: '**/TEST-*.xml'
tasks: 'build'
Wrapper Gradle
Verificare che il gradlew
file si trova nel repository. In caso contrario, generarlo eseguendo gradle wrapper
nella directory radice del progetto. Per informazioni sulla creazione di un wrapper Gradle, vedere Gradle.
Scegliere la versione di Gradle
La versione di Gradle installata nel computer agente viene usata a meno che il file del gradle/wrapper/gradle-wrapper.properties
repository non abbia una proprietà che specifica una distributionUrl
versione diversa di Gradle da scaricare e usare durante la compilazione.
Modificare il percorso di compilazione
Impostare il valore workingDirectory
se il file gradlew
non si trova nella radice del repository.
Il valore della directory deve essere relativo alla radice del repository, ad esempio IdentityService
o $(system.defaultWorkingDirectory)/IdentityService
.
Modifica il valore gradleWrapperFile
se il file gradlew
non si trova nella cartella principale del repository. Il valore del percorso del file deve essere relativo alla radice del repository, ad esempio IdentityService/gradlew
o $(system.defaultWorkingDirectory)/IdentityService/gradlew
.
Regolare le attività Gradle
Modificare il valore delle attività per le attività che Gradle deve eseguire, ad esempio build
o check
. Per altre informazioni sulle attività comuni del plug-in Java per Gradle, vedere la documentazione di Gradle.
Formica
Con la compilazione Ant, aggiungere la seguente attività al file azure-pipelines.yml
. Modificare i valori, ad esempio il percorso del build.xml
file, in modo che corrispondano alla configurazione del progetto. Per altre informazioni su queste opzioni, vedere l'attività Ant . Se si usa il repository di esempio, è necessario fornire un build.xml
file nel repository.
steps:
- task: Ant@1
inputs:
workingDirectory: ''
buildFile: 'build.xml'
javaHomeOption: 'JDKVersion'
jdkVersionOption: 'default'
jdkArchitectureOption: 'x64'
publishJUnitResults: false
testResultsFiles: '**/TEST-*.xml'
Sceneggiatura
Per compilare con una riga di comando o uno script, aggiungere uno di questi frammenti di codice al azure-pipelines.yml
file.
Script in linea
Il script:
passaggio esegue uno script integrato usando il Bash su Linux e macOS e il Prompt dei Comandi su Windows. Per dettagli, vedere l'attività Bash o Riga di Comando.
steps:
- script: |
echo Starting the build
mvn package
displayName: 'Build with Maven'
File di script
Questa attività esegue un file di script presente nel repository. Per informazioni dettagliate, vedere l'attività script Shell, script Batch o PowerShell.
steps:
- task: ShellScript@2
inputs:
scriptPath: 'build.sh'
Passaggi successivi
Pubblica l'output di compilazione nella tua pipeline. Creare un pacchetto e pubblicare l'app in un pacchetto Maven o in un file con estensione war/jar per distribuirla in un'applicazione Web.
Altre informazioni sulla creazione di una pipeline CI/CD per la destinazione di distribuzione: