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à.
Esecuzione di una compilazione (AWS CLI)
Nota
Per usare CodePipeline per eseguire una compilazione con AWS CodeBuild, ignorare questi passaggi e seguire le istruzioni contenute in Creazione di una pipeline che utilizza CodeBuild (AWS CLI).
Per ulteriori informazioni sull'uso di AWS CLI con CodeBuild, consultare il documento Guida di riferimento alla riga di comando.
-
Eseguire il comando
start-build
in uno dei seguenti modi:aws codebuild start-build --project-name
<project-name>
Utilizzare questo comando se si desidera eseguire una compilazione che utilizza la versione più recente dell'artefatto di input di compilazione e le impostazioni correnti del progetto di compilazione.
aws codebuild start-build --generate-cli-skeleton
Utilizzare questo comando se si desidera eseguire una compilazione con una versione precedente dell'artefatto di input di compilazione o se si desidera ignorare le impostazioni per gli artefatti di output di compilazione, le variabili di ambiente, la buildspec il periodo di timeout di compilazione predefinito.
-
Se esegui ilstart-buildcomando con
--project-name
opzione, sostituisci<project-name>
con il nome del progetto di compilazione, quindi vai al passaggio 6 di questa procedura. Per ottenere un elenco di progetti di compilazione, consulta Visualizza i nomi dei progetti di compilazione. -
Se si esegue ilstart-buildcomando con
--idempotency-token
l'opzione, un identificatore o token univoco con distinzione tra maiuscole e minuscole, è inclusa nelstart-build
richiesta. Il token è valido per 5 minuti dopo la richiesta . Se si ripete la richiestastart-build
con lo stesso token, ma si modifica un parametro, CodeBuild restituisce un errore di mancata corrispondenza dei parametri. -
Se si esegue il comando start-build con l'opzione
--generate-cli-skeleton
, i dati in formato JSON appaiono nell'output. Copiare i dati in un file, ad esempio
, in un percorso nel computer o nell'istanza locale in cui è installato AWS CLI. Modificare i dati copiati in modo che corrispondano a questo formato e salvare i risultati:start-build.json
{ "projectName": "
projectName
", "sourceVersion": "sourceVersion
", "artifactsOverride": { "type": "type
", "location": "location
", "path": "path
", "namespaceType": "namespaceType
", "name": "artifactsOverride-name
", "packaging": "packaging
" }, "buildspecOverride": "buildspecOverride
", "cacheOverride": { "location": "cacheOverride-location
", "type": "cacheOverride-type
" }, "certificateOverride": "certificateOverride
", "computeTypeOverride": "computeTypeOverride
", "environmentTypeOverride": "environmentTypeOverride
", "environmentVariablesOverride": { "name": "environmentVariablesOverride-name
", "value": "environmentVariablesValue
", "type": "environmentVariablesOverride-type
" }, "gitCloneDepthOverride": "gitCloneDepthOverride
", "imageOverride": "imageOverride
", "idempotencyToken": "idempotencyToken
", "insecureSslOverride": "insecureSslOverride
", "privilegedModeOverride": "privilegedModeOverride
", "queuedTimeoutInMinutesOverride": "queuedTimeoutInMinutesOverride
", "reportBuildStatusOverride": "reportBuildStatusOverride
", "timeoutInMinutesOverride": "timeoutInMinutesOverride
", "sourceAuthOverride": "sourceAuthOverride
", "sourceLocationOverride": "sourceLocationOverride
", "serviceRoleOverride": "serviceRoleOverride
", "sourceTypeOverride": "sourceTypeOverride
" }Sostituire i seguenti segnaposto:
-
projectName
: stringa obbligatoria. Il nome del progetto di compilazione da utilizzare per questa compilazione. -
sourceVersion
: stringa facoltativa. Una versione del codice sorgente da creare, come segue:-
Per Amazon S3, l'ID della versione che corrisponde alla versione del file ZIP di input che desideri creare. Se
sourceVersion
non è specificata, viene utilizzata la versione più recente. -
Per CodeCommit, l'ID commit che corrisponde alla versione del codice sorgente che si desidera creare. Se
sourceVersion
non è specificata, viene utilizzato l'ID commit HEAD del ramo predefinito. (Non è possibile specificare un nome di tag persourceVersion
, ma è possibile specificare l'ID commit del tag). -
PerGitHub, l'ID di commit, l'ID della pull request, il nome del ramo o il nome del tag che corrisponde alla versione del codice sorgente che desideri creare. Se si specifica l'ID di una richiesta pull, deve utilizzare il formato
pr/
(ad esempiopull-request-ID
pr/25
). Se un nome ramo è specificato, viene utilizzato l'ID commit HEAD del ramo. SesourceVersion
non è specificata, viene utilizzato l'ID commit HEAD del ramo predefinito. -
Per Bitbucket, l'ID commit, il nome ramo o il nome del tag che corrisponde alla versione del codice sorgente che si desidera creare. Se un nome ramo è specificato, viene utilizzato l'ID commit HEAD del ramo. Se
sourceVersion
non è specificata, viene utilizzato l'ID commit HEAD del ramo predefinito.
-
-
I seguenti segnaposto sono per
artifactsOverride
.-
type
: opzionale. Il tipo di artefatto di output di compilazione che, per questa compilazione, sostituisce quella definita nel progetto di compilazione. -
location
: opzionale. La posizione dell'artefatto di output di compilazione che, per questa compilazione, sostituisce quella definita nel progetto di compilazione. -
path
: opzionale. Il percorso di artefatto di output di compilazione che, per questa compilazione, sostituisce quella definita nel progetto di compilazione. -
namespaceType
: opzionale. Il tipo di percorso di artefatto di output di compilazione che, per questa compilazione, sostituisce quella definita nel progetto di compilazione. -
name
: opzionale. Il nome di artefatto di output di compilazione che, per questa compilazione, sostituisce quella definita nel progetto di compilazione. -
packaging
: opzionale. Il tipo di pacchetto di artefatto di output di compilazione che, per questa compilazione, sostituisce quella definita nel progetto di compilazione.
-
-
buildspecOverride
: opzionale. Una dichiarazione di specifiche di compilazione che, per questa compilazione, sostituisce quella definita nel progetto di compilazione. Se questo valore è impostato, può essere una definizione buildspec inlinea oppure il percorso a un file buildspec alternativo, relativo al valore della variabile di ambienteCODEBUILD_SRC_DIR
incorporata o al percorso di un bucket S3. Il bucket S3 deve trovarsi nella stessa regione AWS del progetto build. Specificare il file buildspec utilizzando il relativo ARN (ad esempio,arn:aws:s3:::
). Se tale valore non è fornito o è impostato su una stringa vuota, il codice di origine deve contenere un file<my-codebuild-sample2>
/buildspec.ymlbuildspec.yml
nella directory radice. Per ulteriori informazioni, consulta Nome del file buildspec e posizione di storage. -
I seguenti segnaposto sono per
cacheOverride
.-
cacheOverride-location
: opzionale. Il percorso di un oggettoProjectCache
per questa compilazione che sostituisce l'oggettoProjectCache
specificato nel progetto di compilazione.cacheOverride
è facoltativo e richiede un oggettoProjectCache
.location
è obbligatorio in un oggettoProjectCache
. -
cacheOverride-type
: opzionale. Il tipo di un oggettoProjectCache
per questa compilazione che sostituisce l'oggettoProjectCache
specificato nel progetto di compilazione.cacheOverride
è facoltativo e richiede un oggettoProjectCache
.type
è obbligatorio in un oggettoProjectCache
.
-
-
certificateOverride
: opzionale. Il nome di un certificato per questa compilazione che sostituisce quella definita nel progetto di compilazione. -
environmentTypeOverride
: Facoltativo. Un tipo di container per questa compilazione che sostituisce quella definita nel progetto di compilazione. L'attuale stringa valida èLINUX_CONTAINER
. -
I seguenti segnaposto sono per
environmentVariablesOverride
.-
environmentVariablesOverride-nome
: Facoltativo. Il nome di una variabile di ambiente nel progetto di compilazione il quale valore si desidera ignorare per questa compilazione. -
environmentVariablesOverride-tipo
: Opzionale. Il tipo di variabile di ambiente nel progetto di compilazione il quale valore si desidera ignorare per questa compilazione. -
environmentVariablesValue
: Facoltativo. Il valore della variabile di ambiente definita nel progetto di compilazione il quale valore si desidera ignorare per questa compilazione.
-
-
gitCloneDepthSostituisci
: Facoltativo. Il valore di Git clone depth nel progetto di compilazione il quale valore si desidera ignorare per questa compilazione. Se il tipo di origine è Amazon S3, questo valore non è supportato. -
imageOverride
: opzionale. Il nome di un immagine per questa compilazione che sostituisce quella definita nel progetto di compilazione. -
idempotencyToken
: opzionale. Una stringa che serve come token per specificare che la richiesta di compilazione è idempotente. È possibile scegliere qualsiasi stringa con 64 caratteri o meno. Il token è valido per 5 minuti dopo la richiesta di avvio della compilazione. Se ripeti la richiesta di start-build con lo stesso token, ma modifichi un parametro,CodeBuildrestituisce un errore di mancata corrispondenza dei parametri. -
insecureSslOverride
: valore booleano facoltativo che specifica se sovrascrivere l'impostazione TLS non sicura specificata nel progetto di compilazione. L'impostazione TLS non sicura determina se ignorare gli avvisi TLS durante la connessione al codice sorgente del progetto. Questo override si applica solo se l'origine della build èGitHubServer aziendale. -
privilegedModeOverride
: valore booleano opzionale. Se impostato su true, la compilazione sostituisce la modalità privilegiata nel progetto di compilazione. -
queuedTimeoutInMinutesOverride
: numero intero opzionale che specifica il numero di minuti in cui una build può essere messa in coda prima del timeout. Il valore minimo è cinque minuti e il valore massimo è 480 minuti (8 ore). -
reportBuildStatusSostituisci
: valore booleano facoltativo che specifica se inviare al provider di origine lo stato di inizio e completamento di una build. Se lo imposti con un provider di sorgenti diverso daGitHub,GitHubEnterprise Server o Bitbucket, uninvalidInputExceptionviene lanciato. -
sourceAuthOverride
: stringa opzionale. Un tipo di autorizzazione per questa compilazione che sostituisce quella definita nel progetto di compilazione. Questo override si applica solo se l'origine del progetto di compilazione è Bitbucket oGitHub. -
sourceLocationOverride
: Stringa opzionale. Il percorso che, per questa compilazione, sostituisce il percorso di origine definito nel progetto di compilazione. -
serviceRoleOverride
: stringa opzionale. Il nome di un ruolo del servizio per questa compilazione che sostituisce quella definita nel progetto di compilazione. -
sourceTypeOverride
: stringa opzionale. Un tipo di input di origine per questa compilazione che sostituisce l'input di origine definito nel progetto di compilazione. Le stringhe valide sonoNO_SOURCE
,CODECOMMIT
,CODEPIPELINE
,GITHUB
,S3
,BITBUCKET
eGITHUB_ENTERPRISE
. -
timeoutInMinutesSostituisci
: numero opzionale. Il numero di minuti di timeout di compilazione che, per questa compilazione, sostituisce quella definita nel progetto di compilazione.
Si consiglia di memorizzare una variabile di ambiente con un valore sensibile, ad esempioAWSID della chiave di accesso, unAWSchiave di accesso segreta o password come parametro in Amazon EC2 Systems Manager Parameter Store. CodeBuildpuò utilizzare un parametro memorizzato in Amazon EC2 Systems Manager Parameter Store solo se il nome di quel parametro inizia con
/CodeBuild/
(ad esempio,/CodeBuild/dockerLoginPassword
). È possibile utilizzare ilCodeBuildconsole per creare un parametro in Amazon EC2 Systems Manager. Selezionare Create a parameter (Crea un parametro) e seguire le istruzioni. (In quella finestra di dialogo, perChiave KMS, puoi facoltativamente specificare l'ARN di unAWS KMSinserisci il tuo account. Amazon EC2 Systems Manager utilizza questa chiave per crittografare il valore del parametro durante l'archiviazione e decrittografarlo durante il recupero.) Se si utilizza la console CodeBuild per creare un parametro, la console inizia il parametro con/CodeBuild/
durante l'archiviazione. Tuttavia, se utilizzi la console Amazon EC2 Systems Manager Parameter Store per creare un parametro, devi iniziare il nome del parametro con/CodeBuild/
, e devi impostareTipoaStringa sicura. Per ulteriori informazioni, vedereAWS Systems Managerarchivio parametrieProcedura dettagliata: creazione e test di un parametro String (console)nelGuida per l'utente di Amazon EC2 Systems Manager.Se il progetto di compilazione si riferisce a parametri memorizzati in Amazon EC2 Systems Manager Parameter Store, il ruolo di servizio del progetto di compilazione deve consentire
ssm:GetParameters
azione. Se in precedenza era stata scelta l'opzione Create a new service role in your account (Crea un nuovo ruolo del servizio nel tuo account), CodeBuild include automaticamente questa operazione nel ruolo del servizio predefinito per il progetto di compilazione. Tuttavia, se era stata scelta l'opzione Choose an existing service role from your account (Scegli un ruolo del servizio esistente dal tuo account), è necessario includere questa operazione al ruolo del servizio separatamente.Le variabili di ambiente impostate sostituiscono quelle esistenti. Ad esempio, se l'immagine Docker contiene già una variabile di ambiente denominata
MY_VAR
con un valore dimy_value
, e si imposta una variabile di ambiente denominataMY_VAR
con un valore diother_value
, il valoremy_value
viene sostituito daother_value
. Allo stesso modo, se l'immagine Docker contiene già una variabile di ambiente denominataPATH
con un valore di/usr/local/sbin:/usr/local/bin
, e si imposta una variabile di ambiente denominataPATH
con un valore di$PATH:/usr/share/ant/bin
, il valore di/usr/local/sbin:/usr/local/bin
viene sostituito dal valore letterale$PATH:/usr/share/ant/bin
.Non impostare variabili di ambiente con nomi che iniziano con
CODEBUILD_
. Questo prefisso è riservato per l'uso interno .Se una variabile di ambiente con lo stesso nome viene definita in più luoghi, il valore della variabile di ambiente viene determinato come segue:
-
Il valore della chiamata all'operazione di inizio della compilazione ha la massima priorità.
-
Il valore della definizione del progetto di compilazione è il seguente in ordine di priorità.
-
Il valore della dichiarazione buildspec ha la minima priorità.
Per informazioni sui valori validi per questi segnaposto, consultare Creazione di un progetto di compilazione (AWS CLI). Per un elenco delle impostazioni più recenti per un progetto di compilazione, consultare Visualizza i dettagli del progetto di costruzione.
-
-
Passare alla directory contenente il file appena salvato ed eseguire nuovamente il comando
start-build
.aws codebuild start-build --cli-input-json file://start-build.json
-
In caso di esito positivo, nell'output vengono visualizzati dati simili a quelli descritti nella procedura Per eseguire la build.
Per utilizzare le informazioni dettagliate su questa compilazione, annotare il valore id
nell'output e consultare Visualizzazione dei dettagli delle compilazioni (AWS CLI).