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.
Configuration des paramètres de compilation
Lorsque vous déployez une application avec Amplify Hosting, celle-ci détecte automatiquement le framework frontal et les paramètres de build associés en inspectant le package.json
fichier dans votre référentiel. Vous disposez des options suivantes pour stocker les paramètres de compilation de votre application :
-
Enregistrez les paramètres de build dans la console Amplify - La console Amplify détecte automatiquement les paramètres de build et les enregistre afin qu'ils soient accessibles via la console Amplify. Amplify applique ces paramètres à toutes vos branches, sauf si un
amplify.yml
fichier est stocké dans votre référentiel. -
Enregistrez les paramètres de compilation dans votre dépôt : téléchargez le
amplify.yml
fichier et ajoutez-le à la racine de votre dépôt.
Vous pouvez modifier les paramètres de compilation d'une application dans la console Amplify en choisissant Hosting, puis Build settings dans le volet de navigation. Les paramètres de génération sont appliqués à toutes les branches de votre application, à l'exception des branches dont un amplify.yml
fichier est enregistré dans le référentiel.
Note
Les paramètres de compilation ne sont visibles dans le menu d'hébergement de la console Amplify que lorsqu'une application est configurée pour un déploiement continu et connectée à un référentiel git. Pour obtenir des instructions sur ce type de déploiement, consultez Getting started.
Commandes et paramètres de spécification de construction
La spécification de construction YAML contient un ensemble de commandes de construction et de paramètres associés qu'Amplify utilise pour exécuter votre build. La liste suivante décrit ces paramètres et leur mode d'utilisation.
- version
-
Le numéro de version d'Amplify YAML.
- par Root
-
Le chemin dans le référentiel dans lequel réside cette application. Ignoré sauf si plusieurs applications sont définies.
- env
-
Ajoutez des variables d'environnement à cette section. Vous pouvez également ajouter des variables d'environnement à l'aide de la console.
- dorsal
-
Exécutez les commandes Amplify CLI pour provisionner un backend, mettre à jour les fonctions Lambda ou les schémas GraphQL dans le cadre d'un déploiement continu.
- frontend
-
Exécutez les commandes de construction du frontend.
- test
-
Exécutez des commandes pendant une phase de test. Découvrez comment ajouter des tests à votre application.
- phases de construction
-
Le frontend, le backend et le test comportent trois phases qui représentent les commandes exécutées au cours de chaque séquence de construction.
-
PreBuild - Le script PreBuild s'exécute avant le début de la compilation proprement dite, mais après qu'Amplify ait installé les dépendances.
-
génération : vos commandes de génération.
-
PostBuild - Le script post-build s'exécute une fois la compilation terminée et Amplify a copié tous les artefacts nécessaires dans le répertoire de sortie.
-
- chemin de construction
-
Le chemin à utiliser pour exécuter le build. Amplify utilise ce chemin pour localiser les artefacts de votre build. Si vous ne spécifiez pas de chemin, Amplify utilise la racine de l'application monorepo, par exemple.
apps/app
- artéfacts > répertoire de base
-
Le répertoire dans lequel se trouvent vos artefacts de build.
- artéfacts > fichiers
-
Spécifiez les fichiers à partir de vos artefacts que vous souhaitez déployer. Entrez
**/*
pour inclure tous les fichiers. - cache
-
Le champ de cache de buildspec est utilisé pour mettre en cache les dépendances au moment de la création, telles que le dossier node_modules, et est automatiquement suggéré en fonction du gestionnaire de packages et du framework dans lesquels l'application du client est intégrée. Lors de la première génération, tous les chemins présents sont mis en cache, et lors des versions suivantes, nous regonflons le cache et utilisons ces dépendances mises en cache dans la mesure du possible pour accélérer le temps de construction.
L'exemple de spécification de construction suivant illustre la syntaxe YAML de base :
version: 1 env: variables: key: value backend: phases: preBuild: commands: - *enter command* build: commands: - *enter command* postBuild: commands: - *enter command* frontend: buildpath: phases: preBuild: commands: - cd react-app - npm ci build: commands: - npm run build artifacts: files: - location - location discard-paths: yes baseDirectory: location cache: paths: - path - path test: phases: preTest: commands: - *enter command* test: commands: - *enter command* postTest: commands: - *enter command* artifacts: files: - location - location configFilePath: *location* baseDirectory: *location*
Paramètres de construction spécifiques à la branche
Vous pouvez utiliser des scripts shell bash pour définir des paramètres de build spécifiques à la branche. Par exemple, le script suivant utilise la variable d'environnement système $AWS_BRANCH pour exécuter un ensemble de commandes si le nom de la branche est main et un autre ensemble de commandes si le nom de la branche est dev.
frontend: phases: build: commands: - if [ "${AWS_BRANCH}" = "main" ]; then echo "main branch"; fi - if [ "${AWS_BRANCH}" = "dev" ]; then echo "dev branch"; fi
Navigation vers un sous-dossier
Pour monorepos, les utilisateurs veulent pouvoir accéder à un cd
dossier pour exécuter le build. Une fois que vous avez exécuté la cd
commande, elle s'applique à toutes les étapes de votre build, vous n'avez donc pas besoin de répéter la commande en plusieurs phases.
version: 1 env: variables: key: value frontend: phases: preBuild: commands: - cd react-app - npm ci build: commands: - npm run build
Déploiement du backend avec le front-end d'une application de première génération
Note
Cette section s'applique uniquement aux applications Amplify Gen 1. Un backend Gen 1 est créé à l'aide d'Amplify Studio et de l'interface de ligne de commande (CLI) Amplify.
La amplifyPush
commande est un script d'assistance qui vous aide dans les déploiements du backend. Les paramètres de build ci-dessous déterminent automatiquement l’environnement backend approprié à déployer pour la branche active.
version: 1 env: variables: key: value backend: phases: build: commands: - amplifyPush --simple
Configuration du dossier de sortie
Les paramètres de génération suivants définissent le répertoire de sortie sur le dossier public.
frontend: phases: commands: build: - yarn run build artifacts: baseDirectory: public
Installation de packages dans le cadre d'une compilation
Vous pouvez utiliser les yarn
commandes npm
or pour installer des packages lors de la compilation.
frontend: phases: build: commands: - npm install -g <package> - <package> deploy - yarn run build artifacts: baseDirectory: public
Utilisation d'un registre npm privé
Vous pouvez ajouter des références à un registre privé dans vos paramètres de génération ou l'ajouter en tant que variable d'environnement.
build: phases: preBuild: commands: - npm config set <key> <value> - npm config set registry https://registry.npmjs.org - npm config set always-auth true - npm config set email hello@amplifyapp.com - yarn install
Installation de packages de système d'exploitation
L'image AL2023 d'Amplify exécute votre code avec un nom d'utilisateur non privilégié. amplify
Amplify accorde à cet utilisateur les privilèges nécessaires pour exécuter des commandes du système d'exploitation à l'aide de la commande Linux. sudo
Si vous souhaitez installer des packages de système d'exploitation pour les dépendances manquantes, vous pouvez utiliser des commandes telles que yum
et rpm
avecsudo
.
L'exemple de section de construction suivant illustre la syntaxe d'installation d'un package de système d'exploitation à l'aide de la sudo
commande.
build: phases: preBuild: commands: - sudo yum install -y <package>
Stockage des paires clé-valeur pour chaque build
envCache
Fournit un stockage des valeurs clés au moment de la construction. Les valeurs stockées dans le ne envCache
peuvent être modifiées que lors d'une construction et peuvent être réutilisées lors de la prochaine génération. À l'aide deenvCache
, nous pouvons stocker des informations sur l'environnement déployé et les mettre à la disposition du conteneur de construction lors de versions successives. Contrairement aux valeurs stockées dans leenvCache
, les modifications apportées aux variables d'environnement au cours d'une génération ne sont pas conservées dans les versions futures.
Exemple d'utilisation :
envCache --set <key> <value> envCache --get <key>
Ignorer le build pour un commit
Pour ignorer une compilation automatique sur un commit particulier, incluez le texte [skip-cd] à la fin du message de validation.
Désactiver les builds automatiques
Vous pouvez configurer Amplify pour désactiver les builds automatiques à chaque validation de code. Pour le configurer, choisissez Paramètres de l'application, Paramètres des succursales, puis recherchez la section Branches qui répertorie les succursales connectées. Sélectionnez une branche, puis choisissez Actions, Désactiver la construction automatique. Les nouvelles validations vers cette branche ne démarreront plus une nouvelle version.
Activer ou désactiver la création et le déploiement du frontend basé sur les différences
Vous pouvez configurer Amplify pour utiliser des versions frontales basées sur les différences. Si cette option est activée, au début de chaque build, Amplify tente d'exécuter une différence sur votre appRoot
dossier ou sur le /src/
dossier par défaut. Si Amplify ne trouve aucune différence, il ignore les étapes de création, de test (si configuré) et de déploiement du frontend, et ne met pas à jour votre application hébergée.
Pour configurer la création et le déploiement d'un frontend basé sur Diff
-
Connectez-vous à la console Amplify AWS Management Console
et ouvrez-la. -
Choisissez l'application pour laquelle configurer la création et le déploiement du frontend basé sur les différences.
-
Dans le volet de navigation, choisissez Hosting, Environment variables.
-
Dans la section Variables d'environnement, sélectionnez Gérer les variables.
-
La procédure de configuration de la variable d'environnement varie selon que vous activez ou désactivez la création et le déploiement du frontend basé sur le diff.
-
Pour activer la création et le déploiement d'une interface basée sur les différences
-
Dans la section Gérer les variables, sous Variable, entrez
AMPLIFY_DIFF_DEPLOY
. -
Pour le champ Valeur, saisissez
true
.
-
-
Pour désactiver la création et le déploiement du frontend basé sur les différences
-
Effectuez l’une des actions suivantes :
-
Dans la section Gérer les variables, recherchez
AMPLIFY_DIFF_DEPLOY
. Pour le champ Valeur, saisissezfalse
. -
Supprimez la variable d'
AMPLIFY_DIFF_DEPLOY
environnement.
-
-
-
-
Choisissez Enregistrer.
Vous pouvez éventuellement définir la variable d'AMPLIFY_DIFF_DEPLOY_ROOT
environnement pour remplacer le chemin par défaut par un chemin relatif à la racine de votre dépôt, tel que. dist
Activer ou désactiver les versions de backend basées sur les différences pour une application de première génération
Note
Cette section s'applique uniquement aux applications Amplify Gen 1. Un backend Gen 1 est créé à l'aide d'Amplify Studio et de l'interface de ligne de commande (CLI) Amplify.
Vous pouvez configurer Amplify Hosting pour utiliser des versions de backend basées sur les différences à l'aide de la variable d'environnement. AMPLIFY_DIFF_BACKEND
Lorsque vous activez les versions de backend basées sur le diff, au début de chaque build, Amplify tente d'exécuter un diff sur le amplify
dossier de votre référentiel. Si Amplify ne trouve aucune différence, il ignore l'étape de création du backend et ne met pas à jour vos ressources backend. Si votre projet ne contient aucun amplify
dossier dans votre référentiel, Amplify ignore la valeur de la AMPLIFY_DIFF_BACKEND
variable d'environnement.
Si des commandes personnalisées sont actuellement spécifiées dans les paramètres de génération de votre phase de backend, les builds de backend conditionnels ne fonctionneront pas. Si vous souhaitez que ces commandes personnalisées s'exécutent, vous devez les déplacer vers la phase frontale de vos paramètres de génération dans le amplify.yml
fichier de votre application.
Pour configurer des versions de backend basées sur les différences
-
Connectez-vous à la console Amplify AWS Management Console
et ouvrez-la. -
Choisissez l'application pour laquelle configurer les versions de backend basées sur les différences.
-
Dans le volet de navigation, choisissez Hosting, Environment variables.
-
Dans la section Variables d'environnement, sélectionnez Gérer les variables.
-
La procédure de configuration de la variable d'environnement varie selon que vous activez ou désactivez les versions de backend basées sur les différences.
-
Pour activer les builds de backend basés sur les différences
-
Dans la section Gérer les variables, sous Variable, entrez
AMPLIFY_DIFF_BACKEND
. -
Pour le champ Valeur, saisissez
true
.
-
-
Pour désactiver les builds de backend basés sur les différences
-
Effectuez l’une des actions suivantes :
-
Dans la section Gérer les variables, recherchez
AMPLIFY_DIFF_BACKEND
. Pour le champ Valeur, saisissezfalse
. -
Supprimez la variable d'
AMPLIFY_DIFF_BACKEND
environnement.
-
-
-
-
Choisissez Enregistrer.