Specifica di due runtime - 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à.

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.

  1. Crea una directory denominata my-source.

  2. Nella directory my-source, crea una directory denominata golang-app,

  3. Crea un file denominato hello.go con i seguenti contenuti. Archivia il file nella directory golang-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") }
  4. Nella directory my-source, crea una directory denominata nodejs-app, che deve trovarsi allo stesso livello della directory golang-app.

  5. Crea un file denominato index.js con i seguenti contenuti. Archivia il file nella directory nodejs-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");
  6. Crea un file denominato package.json con i seguenti contenuti. Archivia il file nella directory nodejs-app.

    { "name": "mycompany-app", "version": "1.0.0", "description": "", "main": "index.js", "scripts": { "test": "echo \"run some tests here\"" }, "author": "", "license": "ISC" }
  7. Crea un file denominato buildspec.yml con i seguenti contenuti. Archivia il file nella my-source directory, allo stesso livello delle directory nodejs-app e golang-app. La runtime-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
  8. La struttura del file dovrebbe avere il seguente aspetto.

    my-source ├── golang-app │ └── hello.go ├── nodejs.app │ ├── index.js │ └── package.json └── buildspec.yml
  9. Carica il contenuto della my-source directory in un bucket di input S3 o in un repository CodeCommit, GitHub o Bitbucket.

    Importante

    Se utilizzi un bucket di input S3, assicurati di creare un ZIP file che contenga la struttura della directory e i file, quindi caricalo nel bucket di input. Non aggiungete my-source al ZIP file, ma solo le cartelle e i file in esso contenuti. my-source

  10. Apri la AWS CodeBuild console su https://console.aws.amazon.com/codesuite/codebuild/home.

  11. 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.

  12. Scegliere Create build project (Crea progetto di compilazione).

  13. Selezionare Start build (Avvia compilazione).

  14. In Build configuration (Configurazione della compilazione) accettare le impostazioni predefinite, quindi scegliere Build configuration (Avvia compilazione).

  15. 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