Modification de la spécification de construction dans la console Amplify - AWS Amplify Hébergement

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.

Modification de la spécification de construction dans la console Amplify

Vous pouvez personnaliser les paramètres de compilation d'une application en modifiant les spécifications de génération dans la console Amplify. Les paramètres de construction 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 Git.

Pour modifier les paramètres de compilation dans la console Amplify
  1. Connectez-vous au AWS Management Console et ouvrez la console Amplify.

  2. Choisissez l'application dont vous souhaitez modifier les paramètres de compilation.

  3. Dans le volet de navigation, choisissez Hosting, puis Build settings.

  4. Sur la page des paramètres de construction, dans la section Spécification de construction de l'application, choisissez Modifier.

  5. Dans la fenêtre Modifier les spécifications de construction, entrez vos mises à jour.

  6. Choisissez Save (Enregistrer).

Vous pouvez utiliser les exemples décrits dans les rubriques suivantes pour mettre à jour vos paramètres de compilation pour des scénarios spécifiques.

Définition des paramètres de construction spécifiques à une branche à l'aide de scripts

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

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 de première génération est créé à l'aide d'Amplify Studio et de l'interface de ligne de commande Amplify (). CLI

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 AL2 023 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 les 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>

Configuration du stockage des valeurs clés pour chaque version

envCacheFournit 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 à chaque commit

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.

Configuration de la création et du déploiement d'un frontend basé sur Diff

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
  1. Connectez-vous au AWS Management Console et ouvrez la console Amplify.

  2. Choisissez l'application pour laquelle configurer la création et le déploiement du frontend basé sur les différences.

  3. Dans le volet de navigation, choisissez Hosting, Environment variables.

  4. Dans la section Variables d'environnement, sélectionnez Gérer les variables.

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

      1. Dans la section Gérer les variables, sous Variable, entrezAMPLIFY_DIFF_DEPLOY.

      2. Pour le champ Valeur, saisissez true.

    • Pour désactiver la création et le déploiement du frontend basé sur les différences

      1. Effectuez l’une des actions suivantes :

        • Dans la section Gérer les variables, recherchezAMPLIFY_DIFF_DEPLOY. Pour le champ Valeur, saisissez false.

        • Supprimez la variable d'AMPLIFY_DIFF_DEPLOYenvironnement.

  6. Choisissez Save (Enregistrer).

Vous pouvez éventuellement définir la variable d'AMPLIFY_DIFF_DEPLOY_ROOTenvironnement pour remplacer le chemin par défaut par un chemin relatif à la racine de votre dépôt, tel que. dist

Configuration de 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 de première génération est créé à l'aide d'Amplify Studio et de l'interface de ligne de commande Amplify (). CLI

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
  1. Connectez-vous au AWS Management Console et ouvrez la console Amplify.

  2. Choisissez l'application pour laquelle configurer les versions de backend basées sur les différences.

  3. Dans le volet de navigation, choisissez Hosting, Environment variables.

  4. Dans la section Variables d'environnement, sélectionnez Gérer les variables.

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

      1. Dans la section Gérer les variables, sous Variable, entrezAMPLIFY_DIFF_BACKEND.

      2. Pour le champ Valeur, saisissez true.

    • Pour désactiver les builds de backend basés sur les différences

      1. Effectuez l’une des actions suivantes :

        • Dans la section Gérer les variables, recherchezAMPLIFY_DIFF_BACKEND. Pour le champ Valeur, saisissez false.

        • Supprimez la variable d'AMPLIFY_DIFF_BACKENDenvironnement.

  6. Choisissez Save (Enregistrer).