Passaggio 2: creare il file buildspec - AWS CodeBuild

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Passaggio 2: creare il file buildspec

(Fase precedente: Fase 1: Creare il codice sorgente)

In questa fase, crei un file di specifica di compilazione. Un buildspec è una raccolta di comandi di compilazione e impostazioni correlate, in formato YAML, che viene utilizzata per eseguire una build. CodeBuild Senza una specifica di compilazione, CodeBuild non è possibile convertire con successo l'input della build in output della build o individuare l'artefatto di output della build nell'ambiente di compilazione per caricarlo nel bucket di output.

Creare questo file, denominarlo buildspec.yml e salvarlo nella directory radice (primo livello).

version: 0.2 phases: install: runtime-versions: java: corretto11 pre_build: commands: - echo Nothing to do in the pre_build phase... build: commands: - echo Build started on `date` - mvn install post_build: commands: - echo Build completed on `date` artifacts: files: - target/messageUtil-1.0.jar
Importante

Poiché una dichiarazione della specifica di compilazione deve essere uno YAML valido, in una dichiarazione della specifica di compilazione è importante la spaziatura. Se il numero di spazi nella dichiarazione della specifica di compilazione non corrisponde a questo, la compilazione potrebbe non riuscire immediatamente. È possibile usare un convalidatore YAML per verificare se la dichiarazione della specifica di compilazione è uno YAML valido.

Nota

Invece di includere un file di specifica di compilazione nel codice sorgente, è possibile dichiarare i comandi di compilazione separatamente al momento della creazione di un progetto di compilazione. Questa funzione è utile se si desidera creare il codice sorgente con diversi comandi di compilazione senza aggiornare ogni volta l'archivio del codice sorgente. Per ulteriori informazioni, consulta Sintassi buildspec.

In questa dichiarazione della specifica di compilazione:

  • version rappresenta la versione dello standard di specifica di compilazione utilizzata. Questa dichiarazione della specifica di compilazione utilizza la versione più recente, 0.2.

  • phases rappresenta le fasi di build durante le quali è possibile fornire istruzioni a CodeBuild per eseguire i comandi. Queste fasi di compilazione sono elencate qui come install, pre_build, build e post_build. Non puoi modificare l'ortografia dei nomi di queste fasi di compilazione e non puoi creare ulteriori nomi di fasi di compilazione.

    In questo esempio, durante la build fase, CodeBuild esegue il comando. mvn install Questo comando fornisce istruzioni a Apache Maven per compilare, testare e creare pacchetti dei file di classe Java in un artefatto di output della compilazione. Per completezza, in questo esempio alcuni comandi echo sono posizionati in ciascuna fase di build. Quando più avanti in questo tutorial visualizzerai informazioni build dettagliate, l'output di questi comandi echo può aiutarti a comprendere meglio in che modo CodeBuild esegue i comandi e in quale ordine. Anche se tutte le fasi di compilazione sono incluse in questo esempio, non è necessario includere una fase di compilazione se non prevedi di eseguire comandi durante tale fase. Per ogni fase di compilazione, CodeBuild esegue ogni comando specificato, uno alla volta, nell'ordine elencato, dall'inizio alla fine.

  • artifactsrappresenta l'insieme di artefatti di output della build che CodeBuild vengono caricati nel bucket di output. filesrappresenta i file da includere nell'output della build. CodeBuild carica il singolo messageUtil-1.0.jar file trovato nella directory target relativa nell'ambiente di compilazione. Il nome del file messageUtil-1.0.jar e il nome della directory target sono basati sul modo in cui Apache Maven crea e archivia elementi di output di compilazione unicamente per questo esempio. Nelle tue build, questi nomi di file e directory sono differenti.

Per ulteriori informazioni, consulta Riferimento per buildspec.

A questo punto, la tua struttura di directory dovrebbe avere questo aspetto.

(root directory name) |-- pom.xml |-- buildspec.yml `-- src |-- main | `-- java | `-- MessageUtil.java `-- test `-- java `-- TestMessageUtil.java

Approfondimenti

Fase 3: Creare due bucket S3