AWS CodeBuild - AWS CodePipeline

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

AWS CodeBuild

Consente di eseguire compilazioni e test come parte della pipeline. Quando si esegue un'azione di CodeBuild compilazione o test, i comandi specificati nelle specifiche di compilazione vengono eseguiti all'interno di un CodeBuild contenitore. Tutti gli artefatti specificati come artefatti di input per un' CodeBuild azione sono disponibili all'interno del contenitore che esegue i comandi. CodeBuild può fornire un'azione di compilazione o di test. Per ulteriori informazioni, consulta la Guida per l'utente AWS CodeBuild.

Quando si utilizza la CodePipeline procedura guidata nella console per creare un progetto di compilazione, il progetto di CodeBuild compilazione mostra che il provider di origine lo è CodePipeline. Quando crei un progetto di compilazione nella CodeBuild console, non puoi specificarlo CodePipeline come fornitore di origine, ma l'aggiunta dell'azione di compilazione alla pipeline modifica il codice sorgente nella console. CodeBuild Per ulteriori informazioni, consulta l'AWS CodeBuild API ProjectSourceReference.

Tipo di operazione

  • Categoria: Build o Test

  • Proprietario: AWS

  • Provider: CodeBuild

  • Versione: 1

Parametri di configurazione

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 build spec ed esegue i comandi build spec nella directory che contiene la versione decompressa di questo artefatto.

Questo parametro è obbligatorio se per un'azione vengono specificati più artefatti di input. 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'CombineArtifactsopzione è disponibile.

Per esempi di pipeline con compilazioni in batch abilitate, consulta CodePipeline Integrazione con CodeBuild e compilazioni in batch.

CombineArtifacts

Campo obbligatorio: no

Il valore booleano del CombineArtifacts parametro combina tutti gli elementi 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' CodeBuild azione 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 operazione (esempio CodeBuild).

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.

Nota

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

Input artifact (Artefatti di input)

  • Numero di artefatti: 1 to 5

  • Descrizione: CodeBuild cerca il file build spec ed esegue i comandi build spec dalla directory dell'artefatto sorgente primario. Quando viene specificata più di una fonte di input per l' CodeBuild azione, questo artefatto deve essere impostato utilizzando il parametro di configurazione dell'azione in. PrimarySource CodePipeline

    Ogni artefatto di input viene estratto nella propria directory, le cui posizioni sono archiviate in variabili di ambiente. La directory per l'artefatto di origine principale viene resa disponibile con $CODEBUILD_SRC_DIR. Le directory per tutti gli altri artefatti di input sono rese disponibili con $CODEBUILD_SRC_DIR_yourInputArtifactName.

    Nota

    L'artefatto configurato nel CodeBuild progetto diventa l'artefatto di input utilizzato dall'azione nella pipeline. CodeBuild

Artefatti di output

  • Numero di artefatti: 0 to 5

  • Descrizione: possono essere usati per rendere gli artefatti definiti nel file delle specifiche di CodeBuild build disponibili per le azioni successive nella pipeline. Quando viene definito un solo artefatto di output, questo può essere definito direttamente nella sezione artifacts del file delle specifiche di compilazione. Quando viene specificato più di un artefatto di output, tutti gli artefatti a cui si fa riferimento devono essere definiti come artefatti secondari nel file di specifiche di compilazione. I nomi degli artefatti di output in CodePipeline devono corrispondere agli identificatori degli artefatti nel file delle specifiche di build.

    Nota

    L'artefatto configurato nel CodeBuild progetto diventa l'artefatto di input nell'azione della pipeline. CodePipeline

    Se il CombineArtifacts parametro è selezionato per le build in batch, la posizione dell'artefatto di output contiene gli artefatti combinati di più build eseguite nella stessa esecuzione.

Variabili di output

Questa azione produrrà come variabili tutte le variabili di ambiente che sono state esportate come parte della build. Per maggiori dettagli su come esportare le variabili di ambiente, consulta la Guida API. EnvironmentVariableAWS CodeBuild

Per ulteriori informazioni sull'utilizzo delle variabili di CodeBuild ambiente in CodePipeline, consulta gli esempi inCodeBuild azioni (variabili di output). Per un elenco delle variabili di ambiente in cui è possibile utilizzare CodeBuild, consulta Variabili di ambiente negli ambienti di compilazione nella Guida per l'AWS CodeBuild utente.

Dichiarazione di operazione (esempio CodeBuild)

YAML
Name: Build Actions: - Name: PackageExport ActionTypeId: Category: Build Owner: AWS Provider: CodeBuild Version: '1' RunOrder: 1 Configuration: BatchEnabled: 'true' CombineArtifacts: 'true' ProjectName: my-build-project PrimarySource: MyApplicationSource1 EnvironmentVariables: '[{"name":"TEST_VARIABLE","value":"TEST_VALUE","type":"PLAINTEXT"},{"name":"ParamStoreTest","value":"PARAMETER_NAME","type":"PARAMETER_STORE"}]' OutputArtifacts: - Name: MyPipeline-BuildArtifact InputArtifacts: - Name: MyApplicationSource1 - Name: MyApplicationSource2
JSON
{ "Name": "Build", "Actions": [ { "Name": "PackageExport", "ActionTypeId": { "Category": "Build", "Owner": "AWS", "Provider": "CodeBuild", "Version": "1" }, "RunOrder": 1, "Configuration": { "BatchEnabled": "true", "CombineArtifacts": "true", "ProjectName": "my-build-project", "PrimarySource": "MyApplicationSource1", "EnvironmentVariables": "[{\"name\":\"TEST_VARIABLE\",\"value\":\"TEST_VALUE\",\"type\":\"PLAINTEXT\"},{\"name\":\"ParamStoreTest\",\"value\":\"PARAMETER_NAME\",\"type\":\"PARAMETER_STORE\"}]" }, "OutputArtifacts": [ { "Name": "MyPipeline-BuildArtifact" } ], "InputArtifacts": [ { "Name": "MyApplicationSource1" }, { "Name": "MyApplicationSource2" } ] } ] }

Le risorse correlate seguenti possono essere utili durante l'utilizzo di questa operazione.