Référence du fichier de configuration App Runner - AWS App Runner

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.

Référence du fichier de configuration App Runner

Note

Les fichiers de configuration s'appliquent uniquement aux services basés sur le code source. Vous ne pouvez pas utiliser de fichiers de configuration avec des services basés sur des images.

Cette rubrique est un guide de référence complet sur la syntaxe et la sémantique d'un fichier de AWS App Runner configuration. Pour un aperçu des fichiers de configuration d'App Runner, consultezConfiguration des options du service App Runner à l'aide d'un fichier de configuration.

Le fichier de configuration d'App Runner est un fichier YAML. Nommez-le apprunner.yaml et placez-le dans le répertoire source du référentiel de votre application.

Aperçu de la structure

Le fichier de configuration d'App Runner est un fichier YAML. Nommez-le apprunner.yaml et placez-le dans le répertoire source du référentiel de votre application.

Le fichier de configuration d'App Runner contient les éléments principaux suivants :

  • Section supérieure — Contient les clés de niveau supérieur

  • Section de construction — Configure la phase de construction

  • Section Exécuter — Configure la phase d'exécution

Section supérieure

Les clés situées en haut du fichier fournissent des informations générales sur le fichier et l'exécution de votre service. Les touches disponibles sont les suivantes :

  • versionObligatoire. Version du fichier de configuration d'App Runner. Dans l'idéal, utilisez la dernière version.

    Syntaxe

    version: version
    Exemple
    version: 1.0
  • runtimeObligatoire. Nom du moteur d'exécution utilisé par votre application. Pour en savoir plus sur les temps d'exécution disponibles pour les différentes plateformes de programmation proposées par App Runner, consultezService App Runner basé sur le code source.

    Note

    La convention de dénomination d'un environnement d'exécution géré est. <language-name><major-version>

    Syntaxe

    runtime: runtime-name
    Exemple
    runtime: python3

Section de construction

La section build configure la phase de compilation du déploiement du service App Runner. Vous pouvez spécifier des commandes de construction et des variables d'environnement. Les commandes de construction sont obligatoires.

La section commence par la build: clé et comporte les sous-clés suivantes :

  • commandsObligatoire. Spécifie les commandes exécutées par App Runner au cours des différentes phases de construction. Inclut les sous-clés suivantes :

    • pre-buildFacultatif. Les commandes exécutées par App Runner avant la compilation. Par exemple, installez des npm dépendances ou testez des bibliothèques.

    • buildObligatoire. Les commandes qu'App Runner exécute pour créer votre application. Par exemple, utilisezpipenv.

    • post-buildFacultatif. Les commandes exécutées par App Runner après la compilation. Par exemple, utilisez Maven pour empaqueter des artefacts de construction dans un fichier JAR ou WAR, ou pour exécuter un test.

    Syntaxe

    build: commands: pre-build: - command - build: - command - post-build: - command -
    Exemple
    build: commands: pre-build: - yum install openssl build: - pip install -r requirements.txt post-build: - python manage.py test
  • envFacultatif. Spécifie des variables d'environnement personnalisées pour la phase de construction. Défini comme des mappages scalaires nom-valeur. Vous pouvez faire référence à ces variables par leur nom dans vos commandes de compilation.

    Note

    Il existe deux env entrées distinctes situées à deux emplacements différents dans ce fichier de configuration. Un ensemble se trouve dans la section Build et l'autre dans la section Run.

    • L'envensemble de la section Build peut être référencé par les pre-run commandes pre-build buildpost-build,, et pendant le processus de génération.

      Important - Notez que les pre-run commandes se trouvent dans la section Exécuter de ce fichier, même si elles ne peuvent accéder qu'aux variables d'environnement définies dans la section Build.

    • L'envensemble défini dans la section Exécuter peut être référencé par la run commande dans l'environnement d'exécution.

    Syntaxe

    build: env: - name: name1 value: value1 - name: name2 value: value2 -
    Exemple
    build: env: - name: DJANGO_SETTINGS_MODULE value: "django_apprunner.settings" - name: MY_VAR_EXAMPLE value: "example"

Exécuter la section

La section d'exécution configure la phase d'exécution du conteneur dans le cadre du déploiement de l'application App Runner. Vous pouvez spécifier la version d'exécution, les commandes de pré-exécution (format révisé uniquement), la commande de démarrage, le port réseau et les variables d'environnement.

La section commence par la run: clé et comporte les sous-clés suivantes :

  • runtime-versionFacultatif. Spécifie la version d'exécution que vous souhaitez verrouiller pour votre service App Runner.

    Par défaut, seule la version majeure est verrouillée. App Runner utilise les dernières versions mineures et correctifs disponibles pour l'exécution lors de chaque déploiement ou mise à jour de service. Si vous spécifiez des versions majeures et mineures, les deux sont verrouillées et App Runner ne met à jour que les versions de correctif. Si vous spécifiez des versions majeures, mineures et patchs, votre service est verrouillé sur une version d'exécution spécifique et App Runner ne la met jamais à jour.

    Syntaxe

    run: runtime-version: major[.minor[.patch]]
    Note

    Les environnements d'exécution de certaines plateformes ont des composants de version différents. Consultez les rubriques spécifiques à la plateforme pour plus de détails.

    Exemple
    runtime: python3 run: runtime-version: 3.7
  • pre-runFacultatif. Utilisation de la version révisée uniquement. Spécifie les commandes qu'App Runner exécute après avoir copié votre application de l'image de compilation vers l'image d'exécution. Vous pouvez entrer des commandes ici pour modifier l'image exécutée en dehors du /app répertoire. Par exemple, si vous devez installer des dépendances globales supplémentaires résidant en dehors du /app répertoire, entrez les commandes requises dans cette sous-section pour ce faire. Pour plus d'informations sur le processus de création d'App Runner, consultezVersions d'exécution gérées et build d'App Runner.

    Note
    • Important — Même si les pre-run commandes sont répertoriées dans la section Exécuter, elles ne peuvent faire référence qu'aux variables d'environnement définies dans la section Build de ce fichier de configuration. Ils ne peuvent pas faire référence aux variables d'environnement définies dans cette section Exécuter.

    • Le pre-run paramètre n'est pris en charge que par la version révisée d'App Runner. N'insérez pas ce paramètre dans votre fichier de configuration si votre application utilise des versions d'exécution prises en charge par la version originale d'App Runner. Pour plus d’informations, consultez Versions d'exécution gérées et build d'App Runner.

    Syntaxe

    run: pre-run: - command -
  • commandObligatoire. Commande utilisée par App Runner pour exécuter votre application une fois la création de l'application terminée.

    Syntaxe

    run: command: command
  • networkFacultatif. Spécifie le port que votre application écoute. Elle comprend les éléments suivants :

    • portFacultatif. S'il est spécifié, il s'agit du numéro de port que votre application écoute. La valeur par défaut est 8080.

    • envFacultatif. Si cela est spécifié, App Runner transmet le numéro de port au conteneur dans cette variable d'environnement, en plus de transmettre (et non à la place) le même numéro de port dans la variable d'environnement par défaut,PORT. En d'autres termes, si vous le spécifiezenv, App Runner transmet le numéro de port dans deux variables d'environnement.

    Syntaxe

    run: network: port: port-number env: env-variable-name
    Exemple
    run: network: port: 8000 env: MY_APP_PORT
  • envFacultatif. Définition de variables d'environnement personnalisées pour la phase d'exécution. Défini comme des mappages scalaires nom-valeur. Vous pouvez faire référence à ces variables par leur nom dans votre environnement d'exécution.

    Note

    Il existe deux env entrées distinctes situées à deux emplacements différents dans ce fichier de configuration. Un ensemble se trouve dans la section Build et l'autre dans la section Run.

    • L'envensemble de la section Build peut être référencé par les pre-run commandes pre-build buildpost-build,, et pendant le processus de génération.

      Important - Notez que les pre-run commandes se trouvent dans la section Exécuter de ce fichier, même si elles ne peuvent accéder qu'aux variables d'environnement définies dans la section Build.

    • L'envensemble défini dans la section Exécuter peut être référencé par la run commande dans l'environnement d'exécution.

    Syntaxe

    run: env: - name: name1 value: value1 - name: name2 value: value2 secrets: - name: name1 value-from: arn:aws:secretsmanager:region:aws_account_id:secret:secret-id - name: name2 value-from: arn:aws:ssm:region:aws_account_id:parameter/parameter-name -
    Exemple
    run: env: - name: MY_VAR_EXAMPLE value: "example" secrets: - name: my-secret value-from: "arn:aws:secretsmanager:us-east-1:123456789012:secret:testingstackAppRunnerConstr-kJFXde2ULKbT-S7t8xR:username::" - name: my-parameter value-from: "arn:aws:ssm:us-east-1:123456789012:parameter/parameter-name" - name: my-parameter-only-name value-from: "parameter-name"