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à.
Versioni di runtime nel file buildspec di esempio per CodeBuild
Se usi l'immagine standard di Amazon Linux 2 (AL2) versione 1.0 o successiva o l'immagine standard di Ubuntu versione 2.0 o successiva, puoi specificare uno o più runtime nella runtime-versions
sezione del tuo file buildspec. Questo esempio illustra come modificare il runtime del progetto, specificare uno o più runtime e specificare un runtime che dipende da un altro runtime. Per informazioni sui runtime supportati, vedi Immagini Docker fornite da CodeBuild.
Nota
Se utilizzi Docker nel container di compilazione, la compilazione deve essere eseguita in modalità con privilegi. Per ulteriori informazioni, consulta Esecuzione di una compilazione in AWS CodeBuild e Creazione di un progetto di compilazione in AWS CodeBuild.
Aggiornamento della versione runtime
Puoi modificare il runtime utilizzato dal tuo progetto con una nuova versione aggiornando la runtime-versions
sezione del tuo file buildspec. I seguenti esempi mostrano come specificare le versioni 8 e 11 di Java:
-
Una sezione
runtime-versions
che specifica la versione 8 di Java:phases: install: runtime-versions: java: corretto8
-
Una sezione
runtime-versions
che specifica la versione 11 di Java:phases: install: runtime-versions: java: corretto11
I seguenti esempi mostrano come specificare diverse versioni di Python usando l'immagine standard di Ubuntu 5.0 o l'immagine standard di Amazon Linux 2 3.0:
-
Una
runtime-versions
sezione che specifica la versione 3.7 di Python:phases: install: runtime-versions: python: 3.7
-
Una
runtime-versions
sezione che specifica la versione 3.8 di Python:phases: install: runtime-versions: python: 3.8
Questo esempio illustra un progetto che inizia con il runtime Java versione 8 e viene aggiornato al runtime Java versione 10.
-
Scaricare e installare Maven. Per informazioni, consultare le pagine del sito Web di Apache Maven relative al download di Apache Maven
e all'installazione di Apache Maven . -
Passare a una directory vuota sull'istanza o sul computer locale, quindi eseguire il comando Maven.
mvn archetype:generate "-DgroupId=com.mycompany.app" "-DartifactId=ROOT" "-DarchetypeArtifactId=maven-archetype-webapp" "-DinteractiveMode=false"
Se il comando è eseguito correttamente, vengono creati la struttura e i file della directory.
. └── ROOT ├── pom.xml └── src └── main ├── resources └── webapp ├── WEB-INF │ └── web.xml └── index.jsp
-
Crea un file denominato
buildspec.yml
con i seguenti contenuti. Archivia il file nella directory(root directory name)
/my-web-appversion: 0.2 phases: install: runtime-versions: java: corretto8 build: commands: - java -version - mvn package artifacts: files: - '**/*' base-directory: 'target/my-web-app'
Nel file buildspec:
-
La sezione
runtime-versions
specifica che il progetto utilizza la versione 8 del runtime Java . -
Il comando
- java -version
visualizza la versione di Java utilizzata dal progetto al momento della compilazione.
La struttura del file dovrebbe avere il seguente aspetto.
(root directory name)
└── my-web-app ├── src │ ├── main │ ├── resources │ └── webapp │ └── WEB-INF │ └── web.xml │ └── index.jsp ├── buildspec.yml └── pom.xml -
-
Carica il contenuto della
my-web-app
directory in un bucket di input S3 o in un repository CodeCommit, GitHub o Bitbucket.Importante
Non caricare
o(root directory name)
, ma solo le directory e i file all'interno di(root directory name)
/my-web-app
.(root directory name)
/my-web-appSe si sta usando un bucket di input S3, assicurarsi di creare un file ZIP che contenga la struttura e i file della directory, quindi caricarlo nel bucket di input. Non aggiungere
o(root directory name)
al file ZIP, ma solo le directory e i file all'interno di(root directory name)
/my-web-app
.(root directory name)
/my-web-app -
Apri la console all'indirizzo https://console.aws.amazon.com/codesuite/codebuild/home. AWS CodeBuild
-
Creare un progetto di compilazione. Per ulteriori informazioni, consulta Creare un progetto di compilazione (console) e Esecuzione di una compilazione (console). Lasciare tutte le impostazioni sui valori predefiniti, ad eccezione delle seguenti.
-
In Environment (Ambiente):
-
Per Environment image (Immagine ambiente), scegliere Managed image (Immagine gestita).
-
Per Operating system (Sistema operativo), scegliere Amazon Linux 2.
-
In Runtime(s) (Runtime), seleziona Standard.
-
Per Image, scegli aws/codebuild/amazonlinux2-x86_64-standard:4.0.
-
-
-
Selezionare Start build (Avvia compilazione).
-
In Build configuration (Configurazione della compilazione) accettare le impostazioni predefinite, quindi scegliere Build configuration (Avvia compilazione).
-
Al termine della compilazione, visualizzare l’output della compilazione nella scheda Build logs (Log di compilazione). Verrà visualizzato un output simile al seguente:
[Container] Date Time Phase is DOWNLOAD_SOURCE [Container] Date Time CODEBUILD_SRC_DIR=/codebuild/output/src460614277/src [Container] Date Time YAML location is /codebuild/output/src460614277/src/buildspec.yml [Container] Date Time Processing environment variables [Container] Date Time Selecting 'java' runtime version 'corretto8' based on manual selections... [Container] Date Time Running command echo "Installing Java version 8 ..." Installing Java version 8 ... [Container] Date Time Running command export JAVA_HOME="$JAVA_8_HOME" [Container] Date Time Running command export JRE_HOME="$JRE_8_HOME" [Container] Date Time Running command export JDK_HOME="$JDK_8_HOME" [Container] Date Time Running command for tool_path in "$JAVA_8_HOME"/bin/* "$JRE_8_HOME"/bin/*;
-
Aggiorna la sezione
runtime-versions
con Java versione 11:install: runtime-versions: java: corretto11
-
Dopo aver salvato la modifica, esegui nuovamente la compilazione e visualizza l’output di compilazione. La versione di Java installata visualizzata è 11. Verrà visualizzato un output simile al seguente:
[Container] Date Time Phase is DOWNLOAD_SOURCE [Container] Date Time CODEBUILD_SRC_DIR=/codebuild/output/src460614277/src [Container] Date Time YAML location is /codebuild/output/src460614277/src/buildspec.yml [Container] Date Time Processing environment variables [Container] Date Time Selecting 'java' runtime version 'corretto11' based on manual selections... Installing Java version 11 ... [Container] Date Time Running command export JAVA_HOME="$JAVA_11_HOME" [Container] Date Time Running command export JRE_HOME="$JRE_11_HOME" [Container] Date Time Running command export JDK_HOME="$JDK_11_HOME" [Container] Date Time Running command for tool_path in "$JAVA_11_HOME"/bin/* "$JRE_11_HOME"/bin/*;
Specifica di due runtime
Puoi specificare più di un runtime nello stesso progetto di build. CodeBuild Questo progetto di esempio utilizza due file di origine: uno che utilizza il comando Vai a runtime e uno che utilizza il runtime Node.js.
-
Crea una directory denominata
my-source
. -
Nella directory
my-source
, crea una directory denominatagolang-app
, -
Crea un file denominato
hello.go
con i seguenti contenuti. Archivia il file nella directorygolang-app
.package main import "fmt" func main() { fmt.Println("hello world from golang") fmt.Println("1+1 =", 1+1) fmt.Println("7.0/3.0 =", 7.0/3.0) fmt.Println(true && false) fmt.Println(true || false) fmt.Println(!true) fmt.Println("good bye from golang") }
-
Nella directory
my-source
, crea una directory denominatanodejs-app
, che deve trovarsi allo stesso livello della directorygolang-app
. -
Crea un file denominato
index.js
con i seguenti contenuti. Archivia il file nella directorynodejs-app
.console.log("hello world from nodejs"); console.log("1+1 =" + (1+1)); console.log("7.0/3.0 =" + 7.0/3.0); console.log(true && false); console.log(true || false); console.log(!true); console.log("good bye from nodejs");
-
Crea un file denominato
package.json
con i seguenti contenuti. Archivia il file nella directorynodejs-app
.{ "name": "mycompany-app", "version": "1.0.0", "description": "", "main": "index.js", "scripts": { "test": "echo \"run some tests here\"" }, "author": "", "license": "ISC" }
-
Crea un file denominato
buildspec.yml
con i seguenti contenuti. Archivia il file nellamy-source
directory, allo stesso livello delle directorynodejs-app
egolang-app
. Laruntime-versions
sezione specifica i runtime di Node.js versione 12 e Go versione 1.13.version: 0.2 phases: install: runtime-versions: golang: 1.13 nodejs: 12 build: commands: - echo Building the Go code... - cd $CODEBUILD_SRC_DIR/golang-app - go build hello.go - echo Building the Node code... - cd $CODEBUILD_SRC_DIR/nodejs-app - npm run test artifacts: secondary-artifacts: golang_artifacts: base-directory: golang-app files: - hello nodejs_artifacts: base-directory: nodejs-app files: - index.js - package.json
-
La struttura del file dovrebbe avere il seguente aspetto.
my-source ├── golang-app │ └── hello.go ├── nodejs.app │ ├── index.js │ └── package.json └── buildspec.yml
-
Carica il contenuto della
my-source
directory in un bucket di input S3 o in un repository CodeCommit, GitHub o Bitbucket.Importante
Se si sta usando un bucket di input S3, assicurarsi di creare un file ZIP che contenga la struttura e i file della directory, quindi caricarlo nel bucket di input. Non aggiungere
my-source
al file ZIP, ma solo le directory e i file all'interno dimy-source
. -
Apri la console all'indirizzo https://console.aws.amazon.com/codesuite/codebuild/home. AWS CodeBuild
-
Creare un progetto di compilazione. Per ulteriori informazioni, consulta Creare un progetto di compilazione (console) e Esecuzione di una compilazione (console). Lasciare tutte le impostazioni sui valori predefiniti, ad eccezione delle seguenti.
-
In Environment (Ambiente):
-
Per Environment image (Immagine ambiente), scegliere Managed image (Immagine gestita).
-
Per Operating system (Sistema operativo), scegliere Amazon Linux 2.
-
In Runtime(s) (Runtime), seleziona Standard.
-
Per Image, scegli aws/codebuild/amazonlinux2-x86_64-standard:4.0.
-
-
-
Scegliere Create build project (Crea progetto di compilazione).
-
Selezionare Start build (Avvia compilazione).
-
In Build configuration (Configurazione della compilazione) accettare le impostazioni predefinite, quindi scegliere Build configuration (Avvia compilazione).
-
Al termine della compilazione, visualizzare l’output della compilazione nella scheda Build logs (Log di compilazione). Verrà visualizzato un output simile al seguente. che mostra l’output dei runtime Go e Node.js. Inoltre, mostra l'output alle applicazioni Go e Node.js.
[Container] Date Time Processing environment variables [Container] Date Time Selecting 'golang' runtime version '1.13' based on manual selections... [Container] Date Time Selecting 'nodejs' runtime version '12' based on manual selections... [Container] Date Time Running command echo "Installing Go version 1.13 ..." Installing Go version 1.13 ... [Container] Date Time Running command echo "Installing Node.js version 12 ..." Installing Node.js version 12 ... [Container] Date Time Running command n $NODE_12_VERSION installed : v12.20.1 (with npm 6.14.10) [Container] Date Time Moving to directory /codebuild/output/src819694850/src [Container] Date Time Registering with agent [Container] Date Time Phases found in YAML: 2 [Container] Date Time INSTALL: 0 commands [Container] Date Time BUILD: 1 commands [Container] Date Time Phase complete: DOWNLOAD_SOURCE State: SUCCEEDED [Container] Date Time Phase context status code: Message: [Container] Date Time Entering phase INSTALL [Container] Date Time Phase complete: INSTALL State: SUCCEEDED [Container] Date Time Phase context status code: Message: [Container] Date Time Entering phase PRE_BUILD [Container] Date Time Phase complete: PRE_BUILD State: SUCCEEDED [Container] Date Time Phase context status code: Message: [Container] Date Time Entering phase BUILD [Container] Date Time Running command echo Building the Go code... Building the Go code... [Container] Date Time Running command cd $CODEBUILD_SRC_DIR/golang-app [Container] Date Time Running command go build hello.go [Container] Date Time Running command echo Building the Node code... Building the Node code... [Container] Date Time Running command cd $CODEBUILD_SRC_DIR/nodejs-app [Container] Date Time Running command npm run test > mycompany-app@1.0.0 test /codebuild/output/src924084119/src/nodejs-app > echo "run some tests here" run some tests here