Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Spécification de deux environnements d'exécution
Vous pouvez spécifier plusieurs environnements d'exécution dans le même projet de CodeBuild construction. Cet exemple de projet utilise deux fichiers sources : l'un qui utilise l'environnement d'exécution Go et l'autre qui utilise l'environnement d'exécution Node.js.
-
Créez un répertoire nommé
my-source
. -
Dans le répertoire
my-source
, créez un répertoire nommégolang-app
. -
Créez un fichier nommé
hello.go
avec les contenus suivants. Stockez le fichier dans le répertoiregolang-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") }
-
Dans le répertoire
my-source
, créez un répertoire nomménodejs-app
. Il doit être au même niveau que le répertoiregolang-app
. -
Créez un fichier nommé
index.js
avec les contenus suivants. Stockez le fichier dans le répertoirenodejs-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");
-
Créez un fichier nommé
package.json
avec les contenus suivants. Stockez le fichier dans le répertoirenodejs-app
.{ "name": "mycompany-app", "version": "1.0.0", "description": "", "main": "index.js", "scripts": { "test": "echo \"run some tests here\"" }, "author": "", "license": "ISC" }
-
Créez un fichier nommé
buildspec.yml
avec les contenus suivants. Stockez le fichier dans le répertoiremy-source
, au même niveau que les répertoiresnodejs-app
etgolang-app
. Laruntime-versions
section spécifie les environnements d'exécution de Node.js version 12 et Go version 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 structure de votre fichier devrait maintenant ressembler à ceci.
my-source ├── golang-app │ └── hello.go ├── nodejs.app │ ├── index.js │ └── package.json └── buildspec.yml
-
Téléchargez le contenu du
my-source
répertoire dans un compartiment d'entrée S3 ou dans un CodeCommit référentiel Bitbucket ou Bitbucket. GitHubImportant
Si vous utilisez un compartiment d'entrée S3, veillez à créer un ZIP fichier contenant la structure du répertoire et les fichiers, puis à le télécharger dans le compartiment d'entrée. N'ajoutez rien
my-source
au ZIP fichier, mais uniquement les répertoires et les fichiers qu'il contientmy-source
. -
Ouvrez la AWS CodeBuild console sur https://console.aws.amazon.com/codesuite/codebuild/home
. -
Créez un projet de génération. Pour plus d’informations, consultez Création d'un projet de génération (console) et Exécution d'une génération (console). Laissez tous les paramètres avec leurs valeurs par défaut, sauf pour ces paramètres.
-
Pour Environnement :
-
Pour Image d'environnement, choisissez Managed image (Image gérée).
-
Pour Operating system (Système d'exploitation), choisissez Amazon Linux 2.
-
Pour Runtime(s) (Exécution(s)), sélectionnez Standard.
-
Pour Image, choisissez aws/codebuild/amazonlinux2-x86_64-standard:4.0.
-
-
-
Choisissez Créer un projet de génération.
-
Choisissez Démarrer la génération.
-
Dans Configuration de la génération, acceptez les valeurs par défaut, puis choisissez Démarrer la génération.
-
Une fois que la génération est terminée, affichez sa sortie dans l'onglet Journaux de génération. Vous devez visualiser des résultats similaires à ce qui suit. Ils montrent la sortie des environnements d'exécution Go et Node.js. Ils montrent également la sortie des applications Go et 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