

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.

# CodeBuild règle
<a name="rule-reference-CodeBuild"></a>

Lorsque vous créez une condition, vous pouvez ajouter la CodeBuild règle. Cette section fournit une référence pour les paramètres des règles. Pour plus d'informations sur les règles et conditions, consultez[Comment fonctionnent les conditions scéniques ?](concepts-how-it-works-conditions.md).

Vous pouvez utiliser la CodeBuild règle pour créer une condition dans laquelle l'exécution réussie de votre projet de génération répond aux critères de la règle, tels que la réussite de l'exécution de la génération pour une condition BeforeEntry.

**Note**  
Pour les conditions BeforeEntry configurées avec le résultat **Skip**, seules les règles suivantes sont disponibles : `LambdaInvoke` et`VariableCheck`.

**Topics**
+ [Autorisations de politique des rôles de service](#rule-reference-Commands-policy)
+ [Type de règle](#rule-reference-Commands-type)
+ [Paramètres de configuration](#rule-reference-Commands-config)
+ [Exemple de configuration de règles](#rule-reference-Commands-example)
+ [Consultez aussi](#rule-reference-Commands-links)

## Autorisations de politique des rôles de service
<a name="rule-reference-Commands-policy"></a>

Pour les autorisations relatives à cette règle, ajoutez ce qui suit à votre déclaration de politique de rôle de CodePipeline service. Limitez les autorisations au niveau des ressources.

```
{
    "Effect": "Allow",
    "Action": [
        "codebuild:BatchGetBuilds",
        "codebuild:StartBuild"
    ],
    "Resource": "resource_ARN"
},
```

## Type de règle
<a name="rule-reference-Commands-type"></a>
+ Catégorie : `Rule`
+ Propriétaire : `AWS`
+ Fournisseur : `CodeBuild`
+ Version : `1`

## Paramètres de configuration
<a name="rule-reference-Commands-config"></a>

**ProjectName**  
Obligatoire : oui  
`ProjectName`est le nom du projet de construction dans CodeBuild.

**PrimarySource**  
Obligatoire : Conditionnelle  
La valeur du `PrimarySource` paramètre doit être le nom de l'un des artefacts d'entrée de l'action. CodeBuild recherche le fichier buildspec et exécute les commandes buildspec dans le répertoire qui contient la version décompressée de cet artefact.  
Ce paramètre est obligatoire si plusieurs artefacts d'entrée sont spécifiés pour une action CodeBuild . Lorsqu'il n'y a qu'un seul artefact source pour l'action, l'artefact `PrimarySource` correspond par défaut à cet artefact.

**BatchEnabled**  
Obligatoire : non  
La valeur booléenne du `BatchEnabled` paramètre permet à l'action d'exécuter plusieurs builds au cours de la même exécution de build.  
Lorsque cette option est activée, elle est disponible. `CombineArtifacts`  
Pour des exemples de pipeline dans lesquels les builds par lots sont activés, voir [CodePipeline Intégration avec CodeBuild et builds par lots](https://docs.aws.amazon.com/codebuild/latest/userguide/sample-pipeline-batch.html).

**CombineArtifacts**  
Obligatoire : non  
La valeur booléenne du `CombineArtifacts` paramètre combine tous les artefacts de construction d'une génération par lots dans un seul fichier d'artefact pour l'action de génération.  
Pour utiliser cette option, le `BatchEnabled` paramètre doit être activé.

**EnvironmentVariables**  
Obligatoire : non  
La valeur de ce paramètre est utilisée pour définir des variables d'environnement pour l'action CodeBuild dans votre pipeline. La valeur du paramètre `EnvironmentVariables` prend la forme d'un tableau JSON d'objets variables d'environnement. Consultez l'exemple de paramètre dans [Déclaration d'action (CodeBuild exemple)](action-reference-CodeBuild.md#action-reference-CodeBuild-example).  
Chaque objet comporte trois parties, qui sont toutes des chaînes :  
+ `name` : Nom ou clé de la variable d'environnement. 
+ `value` : Valeur de la variable d'environnement. Lorsque vous utilisez le `SECRETS_MANAGER` type `PARAMETER_STORE` ou, cette valeur doit être le nom d'un paramètre que vous avez déjà stocké dans le magasin de paramètres de AWS Systems Manager ou d'un secret que vous avez déjà enregistré dans AWS Secrets Manager, respectivement.
**Note**  
Nous déconseillons vivement l'utilisation de variables d'environnement pour stocker des valeurs sensibles, en particulier des AWS informations d'identification. Lorsque vous utilisez la CodeBuild console ou la AWS CLI, les variables d'environnement sont affichées en texte brut. Pour les valeurs sensibles, nous vous recommandons d'utiliser plutôt le type `SECRETS_MANAGER`. 
+ `type` : (facultatif) Type de la variable d'environnement. Les valeurs valides sont `PARAMETER_STORE`, `SECRETS_MANAGER` ou `PLAINTEXT`. Si rien spécifié, la valeur par défaut est `PLAINTEXT`.
Lorsque vous entrez la configuration `name``value`, et `type` pour vos variables d'environnement, en particulier si la variable d'environnement contient une syntaxe de variable de CodePipeline sortie, ne dépassez pas la limite de 1 000 caractères pour le champ de valeur de la configuration. Une erreur de validation est renvoyée lorsque cette limite est dépassée.
Pour plus d'informations, consultez [ EnvironmentVariable](https://docs.aws.amazon.com/codebuild/latest/APIReference/API_EnvironmentVariable.html)la référence de AWS CodeBuild l'API. Pour un exemple CodeBuild d'action avec une variable d'environnement qui correspond au nom de la GitHub branche, consultez[Exemple : utilisation d'une BranchName variable avec des variables d' CodeBuild environnement](actions-variables.md#actions-variables-examples-env-branchname).

## Exemple de configuration de règles
<a name="rule-reference-Commands-example"></a>

------
#### [ YAML ]

```
name: codebuild-rule
ruleTypeId:
  category: Rule
  owner: AWS
  provider: CodeBuild
  version: '1'
configuration:
  ProjectName: my-buildproject
  EnvironmentVariables: '[{"name":"VAR1","value":"variable","type":"PLAINTEXT"}]'
inputArtifacts:
- name: SourceArtifact
region: us-east-1
```

------
#### [ JSON ]

```
{
    "name": "codebuild-rule",
    "ruleTypeId": {
        "category": "Rule",
        "owner": "AWS",
        "provider": "CodeBuild",
        "version": "1"
    },
    "configuration": {
        "ProjectName": "my-buildproject"
    },
    "inputArtifacts": [
        {
            "name": "SourceArtifact",
            "EnvironmentVariables": "[{\"name\":\"VAR1\",\"value\":\"variable\",\"type\":\"PLAINTEXT\"}]"
        }
    ],
    "region": "us-east-1"
}
```

------

## Consultez aussi
<a name="rule-reference-Commands-links"></a>

Les ressources connexes suivantes peuvent vous aider à utiliser cette règle.
+ Pour plus d'informations sur les règles et conditions, consultez la section [Condition](https://docs.aws.amazon.com/codepipeline/latest/APIReference/API_Condition.html) et [RuleExecution](https://docs.aws.amazon.com/codepipeline/latest/APIReference/API_RuleExecution.html)le *guide de l'CodePipeline API*. [RuleTypeId](https://docs.aws.amazon.com/codepipeline/latest/APIReference/API_RuleTypeId.html)