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.
Shells et commandes dans les environnements de génération
Vous fournissez un ensemble de commandes pour qu'AWS CodeBuild les exécute dans un environnement de génération au cours du cycle de vie d'une génération (par exemple, pour installer des dépendances de génération, et tester et compiler votre code source). Vous pouvez spécifier les commandes suivantes de plusieurs façons :
-
Créez un fichier de spécification de génération et incluez-le avec votre code source. Dans ce fichier, spécifiez les commandes que vous souhaitez exécuter dans chaque phase du cycle de vie de génération. Pour plus d'informations, consultez l'Référence de spécification de construction pour CodeBuild.
-
Utilisez la console CodeBuild pour créer un projet de génération. Dans Insérer des commandes de génération, pour Build commands (Commandes de génération), saisissez les commandes que vous souhaitez exécuter lors de la phase
build
. Pour plus d'informations, consultez Création d'un projet de génération (console). -
Utilisez la console CodeBuild pour modifier les paramètres d'un projet de génération. Dans Insérer des commandes de génération, pour Build commands (Commandes de génération), saisissez les commandes que vous souhaitez exécuter lors de la phase
build
. Pour plus d'informations, consultez Modification des paramètres d'un projet de génération (console). -
Utilisez l'interface AWS CLI ou les kits SDK AWS pour créer un projet de génération ou modifier les paramètres d'un projet de génération. Faites référence au code source qui contient un fichier de spécification de génération avec vos commandes, ou spécifiez une chaîne unique qui inclut le contenu d'un fichier de spécification de génération équivalent. Pour plus d'informations, consultez Création d'un projet de génération ou Modifier les paramètres du projet de construction.
-
Utilisez l'interface AWS CLI ou les kits AWS SDK pour démarrer une génération, en spécifiant un fichier de spécification de génération ou une chaîne unique qui inclut le contenu d'un fichier de spécification de génération équivalent. Pour de plus amples informations, consultez la description de la valeur
buildspecOverride
dans Exécuter les builds manuellement.
Vous pouvez spécifier n'importe quelle commande Shell Command Language (sh). Dans la version 0.1 de spécification de génération, CodeBuild exécute chaque commande shell dans une instance distincte, dans l'environnement de génération. Cela signifie que chaque commande s'exécute isolée de toutes les autres commandes. Par conséquent, par défaut, vous ne pouvez pas exécuter une commande unique qui s'appuie sur l'état de commandes précédentes (par exemple, pour le changement de répertoire ou la définition de variables d'environnement). Pour contourner ce problème, nous vous recommandons d'utiliser la version 0.2, qui permet de résoudre ce problème. Si vous devez utiliser la version 0.1, nous vous recommandons les approches suivantes :
-
Inclure dans votre code source un script shell qui contient les commandes que vous souhaitez exécuter dans une instance unique du shell par défaut. Par exemple, vous pouvez inclure dans votre code source un fichier nommé
my-script.sh
qui contient des commandes commecd MyDir; mkdir -p mySubDir; cd mySubDir; pwd;
. Ensuite, dans votre fichier de spécification de génération, spécifiez la commande./my-script.sh
. -
Dans votre fichier de spécification de génération, ou pour le paramètre Build commands (Commandes de génération) pour la phase
build
uniquement, entrez une commande unique incluant toutes les commandes que vous souhaitez exécuter dans une instance unique de l'interpréteur de commandes par défaut (par exemple,cd MyDir && mkdir -p mySubDir && cd mySubDir && pwd
).
Si CodeBuild rencontre une erreur, l'erreur peut être plus difficile à résoudre que pour l'exécution d'une commande unique dans sa propre instance du shell par défaut.
Les commandes exécutées dans une image Windows Server Core utilisent l'interpréteur de commandes PowerShell.