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 riferimento all'azione di compilazione e test
Consente di eseguire compilazioni e test come parte della pipeline. Quando si esegue un'azione di CodeBuild compilazione o di test, i comandi specificati in buildspec vengono eseguiti all'interno di un contenitore. CodeBuild Tutti gli artefatti specificati come elementi 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 di 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 fornitore dei sorgenti è CodePipeline. Quando si crea un progetto di compilazione nella CodeBuild console, non è possibile specificare 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 ProjectSource nella documentazione di riferimento dell’API AWS CodeBuild .
Argomenti
Tipo di operazione
-
Categoria:
BuildoTest -
Proprietario:
AWS -
Provider:
CodeBuild -
Versione:
1
Parametri di configurazione
- ProjectName
-
Obbligatorio: sì
ProjectNameè il nome del progetto di compilazione in. CodeBuild - PrimarySource
-
Obbligatorio: condizionale
Il valore del
PrimarySourceparametro 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 artefatto.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
-
Obbligatorio: no
Il valore booleano del
BatchEnabledparametro consente all'azione di eseguire più build nella stessa esecuzione di build.Quando questa opzione è abilitata, l'
CombineArtifactsopzione è disponibile.Per esempi di pipeline con build batch abilitate, vedi CodePipeline Integrazione con CodeBuild e compilazioni in batch.
- BuildspecOverride
-
Obbligatorio: no
Una definizione buildspec o una dichiarazione di file buildspec in linea che sovrascrive l'ultima definita nel progetto di compilazione, solo per questa build. La buildspec definita nel progetto non viene modificata.
Se questo valore è impostato, può essere uno dei seguenti:
-
Una definizione buildspec in linea. Per ulteriori informazioni, vedere il riferimento alla sintassi in Buildspec syntax. https://docs.aws.amazon.com/codebuild/latest/userguide/build-spec-ref.html#build-spec-ref-syntax
-
Il percorso di un file buildspec alternativo relativo al valore della variabile di
CODEBUILD_SRC_DIRambiente integrata o al percorso di un bucket S3. Il bucket deve essere nello stesso del progetto di compilazione. Regione AWS Specificare il file buildspec utilizzando il relativo ARN (ad esempio,arn:aws:s3:::my-codebuild-sample2/buildspec.yml). Se questo valore non viene fornito o è impostato su una stringa vuota, il codice sorgente deve contenere un file buildspec nella sua directory principale. Per ulteriori informazioni sull'aggiunta di un percorso, vedere Buildspec File Name and Storage Location.
Nota
Poiché questa proprietà consente di modificare i comandi di compilazione che verranno eseguiti nel contenitore, tieni presente che un principal IAM con la possibilità di chiamare questa API e impostare questo parametro può sovrascrivere le impostazioni predefinite. Inoltre, ti consigliamo di utilizzare una posizione buildspec affidabile, ad esempio un file nel tuo repository di origine o un bucket Amazon S3.
-
- CombineArtifacts
-
Obbligatorio: no
Il valore booleano del
CombineArtifactsparametro combina tutti gli artefatti di compilazione di una build batch in un unico file di artifact per l'azione di compilazione.Per utilizzare questa opzione, il parametro deve essere abilitato.
BatchEnabled - EnvironmentVariables
-
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
EnvironmentVariablesassume la forma di un array JSON di oggetti variabili di ambiente. Vedi il parametro di esempio in Dichiarazione di azione (CodeBuild esempio).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 ilSECRETS_MANAGERtipoPARAMETER_STOREor, questo valore deve essere rispettivamente il nome di un parametro già memorizzato in AWS Systems Manager Parameter Store o un segreto già memorizzato in AWS Secrets Manager.Nota
Sconsigliamo vivamente l'uso di variabili di ambiente per memorizzare 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 sonoPARAMETER_STORE,SECRETS_MANAGERoPLAINTEXT. Se il valore non viene specificato, viene usato il valore predefinitoPLAINTEXT.
Nota
Quando inserite i valori
namevalue, etypeper la configurazione delle 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. Quando questo limite viene superato, viene restituito un errore di convalida.Per ulteriori informazioni, consulta la sezione API EnvironmentVariable 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
-
- ServiceRoleArnOverride
-
Obbligatorio: no
Un ruolo IAM ARN che CodeBuild utilizza come ruolo di servizio per le build attivate da questa azione, sovrascrivendo il ruolo di servizio predefinito configurato nel progetto. CodeBuild Quando è assente, il CodeBuild progetto utilizza il ruolo di servizio predefinito.
Il ruolo specificato deve avere una politica di fiducia che consenta al
codebuild.amazonaws.com.rproxy.goskope.comservizio di assumerlo. Sia l'identità utilizzata per creare o aggiornare la pipeline sia il ruolo del servizio di pipeline devono disporre dell'iam:PassRoleautorizzazione per il ruolo specificato. Per un esempio di policy, consulta Autorizzazioni relative ai ruoli di servizio: azione CodeBuild.Come best practice di sicurezza, quando un CodeBuild progetto è condiviso su più pipeline, consigliamo di specificare un ruolo con ambito per ogni pipeline in modo da rispettare il principio del privilegio minimo. Per le pipeline che utilizzano azioni di CodeConnections origine, vedi un CodeBuild GitClone Aggiungi le GitHub autorizzazioni GitHub per le connessioni a Bitbucket, Enterprise Server o GitLab.com esempio di definizione dell'ambito delle autorizzazioni di connessione del ruolo a un repository specifico.
Nota
Il ruolo deve essere nello stesso AWS account del progetto. CodeBuild
Input artifact (Artefatti di input)
-
Numero di artefatti:
1 to 5 -
Descrizione: CodeBuild cerca il file buildspec ed esegue i comandi buildspec dalla directory dell'artefatto sorgente primario. Quando viene specificata una singola sorgente di input o quando viene specificata più di una sorgente di input per l' CodeBuild azione, il singolo artefatto o l'artefatto primario nel caso di più sorgenti di input, deve essere impostato utilizzando il parametro di configurazione dell'azione in.
PrimarySourceCodePipelineOgni 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 disponibili gli artefatti definiti nel file CodeBuild buildspec per le azioni successive nella pipeline. Quando viene definito un solo artefatto di output, questo artefatto può essere definito direttamente nella sezione del file buildspec.
artifactsQuando viene specificato più di un artefatto di output, tutti gli artefatti a cui si fa riferimento devono essere definiti come artefatti secondari nel file buildspec. I nomi degli artefatti di output in devono corrispondere agli identificatori degli artefatti nel file buildspec. CodePipelineNota
L'artefatto configurato nel progetto diventa l'artefatto di input nell'azione della pipeline. CodeBuild CodePipeline
Se il
CombineArtifactsparametro è selezionato per le build 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 alle API. EnvironmentVariable AWS CodeBuild
Per ulteriori informazioni sull'utilizzo delle variabili di CodeBuild ambiente in CodePipeline, consulta gli esempi inCodeBuild variabili di output delle azioni. Per un elenco delle variabili di ambiente che è possibile utilizzare CodeBuild, vedere Variabili di ambiente negli ambienti di compilazione nella Guida per l'AWS CodeBuild utente.
Autorizzazioni relative ai ruoli di servizio: azione CodeBuild
Per CodeBuild assistenza, aggiungi quanto segue alla tua dichiarazione sulla politica:
Se utilizzi il ServiceRoleArnOverride parametro, aggiungi la seguente iam:PassRole autorizzazione CodePipeline per consentire il passaggio del ruolo a CodeBuild:
{ "Effect": "Allow", "Action": "iam:PassRole", "Resource": "arn:aws:iam::111122223333:role/your-codebuild-override-role", "Condition": { "StringEquals": { "iam:PassedToService": "codebuild.amazonaws.com" } } }
Dichiarazione di azione (CodeBuild esempio)
Consulta anche
Le risorse correlate seguenti possono essere utili durante l'utilizzo di questa operazione.
-
AWS CodeBuild Guida per l'utente: per una pipeline di esempio con un' CodeBuild azione, consulta Use CodePipeline with CodeBuild to Test Code and Run Builds. Per esempi di progetti con più elementi di input e output, vedi CodePipeline Integrazione con e più sorgenti di input e CodeBuild artefatti di output Sample CodeBuild and Multiple Input Sources and Output Artifacts Sample.
-
Tutorial: crea una pipeline con cui creare e testare la tua app Android AWS Device Farm— Questo tutorial fornisce un file buildspec di esempio e un'applicazione di esempio per creare una pipeline con un GitHub sorgente che crea e testa un'app Android con e. CodeBuild AWS Device Farm
-
Riferimento alle specifiche di compilazione per CodeBuild : questo argomento di riferimento fornisce definizioni ed esempi per comprendere i file buildspec. CodeBuild Per un elenco delle variabili di ambiente che è possibile utilizzare CodeBuild, consulta Variabili di ambiente negli ambienti di compilazione nella Guida per l'AWS CodeBuild utente.