Spécification de deux environnements d'exécution - AWS CodeBuild

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.

  1. Créez un répertoire nommé my-source.

  2. Dans le répertoire my-source, créez un répertoire nommé golang-app.

  3. Créez un fichier nommé hello.go avec les contenus suivants. Stockez le fichier dans le répertoire 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. Dans le répertoire my-source, créez un répertoire nommé nodejs-app. Il doit être au même niveau que le répertoire golang-app.

  5. Créez un fichier nommé index.js avec les contenus suivants. Stockez le fichier dans le répertoire 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. Créez un fichier nommé package.json avec les contenus suivants. Stockez le fichier dans le répertoire nodejs-app.

    { "name": "mycompany-app", "version": "1.0.0", "description": "", "main": "index.js", "scripts": { "test": "echo \"run some tests here\"" }, "author": "", "license": "ISC" }
  7. Créez un fichier nommé buildspec.yml avec les contenus suivants. Stockez le fichier dans le répertoire my-source, au même niveau que les répertoires nodejs-app et golang-app. La runtime-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
  8. La structure de votre fichier devrait maintenant ressembler à ceci.

    my-source ├── golang-app │ └── hello.go ├── nodejs.app │ ├── index.js │ └── package.json └── buildspec.yml
  9. 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. GitHub

    Important

    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.

  10. Ouvrez la AWS CodeBuild console sur https://console.aws.amazon.com/codesuite/codebuild/home.

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

  12. Choisissez Créer un projet de génération.

  13. Choisissez Démarrer la génération.

  14. Dans Configuration de la génération, acceptez les valeurs par défaut, puis choisissez Démarrer la génération.

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