

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# CodeBuild regola
<a name="rule-reference-CodeBuild"></a>

Quando si crea una condizione, è possibile aggiungere la CodeBuild regola. Questa sezione fornisce un riferimento per i parametri della regola. Per ulteriori informazioni su regole e condizioni, vedere[Come funzionano le condizioni dello stage?](concepts-how-it-works-conditions.md).

È possibile utilizzare la CodeBuild regola per creare una condizione in cui l'esecuzione corretta del progetto di compilazione soddisfi i criteri della regola, ad esempio l'esecuzione della compilazione per una condizione BeforeEntry.

**Nota**  
Per le condizioni BeforeEntry configurate con il risultato **Skip**, sono disponibili solo le seguenti regole: e. `LambdaInvoke` `VariableCheck`

**Topics**
+ [Autorizzazioni relative ai ruoli di servizio](#rule-reference-Commands-policy)
+ [Tipo di regola](#rule-reference-Commands-type)
+ [Parametri di configurazione](#rule-reference-Commands-config)
+ [Esempio di configurazione delle regole](#rule-reference-Commands-example)
+ [Consulta anche](#rule-reference-Commands-links)

## Autorizzazioni relative ai ruoli di servizio
<a name="rule-reference-Commands-policy"></a>

Per le autorizzazioni relative a questa regola, aggiungi quanto segue alla dichiarazione sulla politica relativa al ruolo CodePipeline di servizio. Riduci le autorizzazioni a livello di risorsa.

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

## Tipo di regola
<a name="rule-reference-Commands-type"></a>
+ Categoria: `Rule`
+ Proprietario: `AWS`
+ Provider: `CodeBuild`
+ Versione: `1`

## Parametri di configurazione
<a name="rule-reference-Commands-config"></a>

**ProjectName**  
Campo obbligatorio: sì  
`ProjectName`è il nome del progetto di compilazione in CodeBuild.

**PrimarySource**  
Obbligatorio: condizionale  
Il valore del `PrimarySource` parametro deve essere il nome di uno degli elementi di input dell'azione. CodeBuild cerca il file buildspec ed esegue i comandi buildspec nella directory che contiene la versione decompressa di questo elemento.  
Questo parametro è obbligatorio se vengono specificati più artefatti di input per un'operazione CodeBuild . Quando è presente un solo artefatto di origine per l'operazione, l'impostazione predefinita per l'artefatto `PrimarySource` è tale artefatto.

**BatchEnabled**  
Campo obbligatorio: no  
Il valore booleano del `BatchEnabled` parametro consente all'azione di eseguire più build nella stessa esecuzione di build.  
Quando questa opzione è abilitata, l'`CombineArtifacts`opzione è disponibile.  
Per esempi di pipeline con compilazioni in batch abilitate, consulta [CodePipeline Integrazione con CodeBuild e compilazioni in batch](https://docs.aws.amazon.com/codebuild/latest/userguide/sample-pipeline-batch.html).

**CombineArtifacts**  
Campo obbligatorio: no  
Il valore booleano del `CombineArtifacts` parametro combina tutti gli artefatti di compilazione di una compilazione in batch in un unico file di artefatti per l'azione di compilazione.  
Per utilizzare questa opzione, il parametro deve essere abilitato. `BatchEnabled`

**EnvironmentVariables**  
Campo obbligatorio: no  
Il valore di questo parametro viene utilizzato per impostare le variabili di ambiente per l'operazione CodeBuild nella pipeline. Il valore per il parametro `EnvironmentVariables` assume la forma di un array JSON di oggetti variabili di ambiente. Vedi il parametro di esempio in [Dichiarazione di azione (CodeBuild esempio)](action-reference-CodeBuild.md#action-reference-CodeBuild-example).  
Ogni oggetto ha tre parti, tutte costituite da stringhe:  
+ `name`: il nome o la chiave della variabile di ambiente. 
+ `value`: il valore della variabile di ambiente. Quando si utilizza il `SECRETS_MANAGER` tipo `PARAMETER_STORE` o, questo valore deve essere il nome di un parametro già archiviato in AWS Systems Manager Parameter Store o un segreto già archiviato in AWS Secrets Manager, rispettivamente.
**Nota**  
Sconsigliamo vivamente l'uso di variabili di ambiente per archiviare valori sensibili, in particolare AWS le credenziali. Quando si utilizza la CodeBuild console o la AWS CLI, le variabili di ambiente vengono visualizzate in testo semplice. Per i valori sensibili, si consiglia di utilizzare invece il tipo `SECRETS_MANAGER`. 
+ `type`: (facoltativo) il tipo di variabile di ambiente. I valori validi sono `PARAMETER_STORE`, `SECRETS_MANAGER` o `PLAINTEXT`. Se il valore non viene specificato, viene usato il valore predefinito `PLAINTEXT`.
Quando inserite la `name` configurazione e `type` per le variabili di ambiente, specialmente se la variabile di ambiente contiene la sintassi della variabile di CodePipeline output, non superate il limite di 1000 caratteri per il campo del valore della configurazione. `value` Quando questo limite viene superato, viene restituito un errore di convalida.
Per ulteriori informazioni, consulta l'API [ EnvironmentVariable](https://docs.aws.amazon.com/codebuild/latest/APIReference/API_EnvironmentVariable.html)Reference. AWS CodeBuild Per un esempio di CodeBuild azione con una variabile di ambiente che si risolve nel nome del GitHub ramo, vedi. [Esempio: utilizzare una BranchName variabile con variabili di CodeBuild ambiente](actions-variables.md#actions-variables-examples-env-branchname)

## Esempio di configurazione delle regole
<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"
}
```

------

## Consulta anche
<a name="rule-reference-Commands-links"></a>

Le seguenti risorse correlate possono esserti utili nell'utilizzo di questa regola.
+ Per ulteriori informazioni su regole e condizioni, consulta [Condition](https://docs.aws.amazon.com/codepipeline/latest/APIReference/API_Condition.html) e [RuleExecution](https://docs.aws.amazon.com/codepipeline/latest/APIReference/API_RuleExecution.html)nella *Guida CodePipeline API*. [RuleTypeId](https://docs.aws.amazon.com/codepipeline/latest/APIReference/API_RuleTypeId.html)