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à.
Creazione di una pipeline che utilizza CodeBuild (AWS CLI)
Utilizzate la procedura seguente per creare una pipeline da utilizzare CodeBuild per creare il codice sorgente.
Per utilizzarlo AWS CLI per creare una pipeline che distribuisca il codice sorgente creato o che verifichi solo il codice sorgente, puoi adattare le istruzioni in Modifica una pipeline (AWS CLI) e il riferimento alla struttura della CodePipeline pipeline nella Guida per l'utente.AWS CodePipeline
-
Crea o identifica un progetto di compilazione in. CodeBuild Per ulteriori informazioni, consulta Creazione di un progetto di compilazione.
Importante
Il progetto di compilazione deve definire le impostazioni degli artefatti di output della build (anche se le CodePipeline sostituisce). Per ulteriori informazioni, consultare la descrizione di
artifacts
in Creazione di un progetto di compilazione (AWS CLI). -
Assicurati di averlo configurato AWS CLI con la chiave di AWS accesso e la chiave di accesso AWS segreta che corrispondono a una delle IAM entità descritte in questo argomento. Per ulteriori informazioni, consultare l'argomento relativo a Come configurare AWS Command Line Interface nella Guida per l'utente AWS Command Line Interface .
-
JSONCreate un file in formato C che rappresenti la struttura della pipeline. Nominare il file
create-pipeline.json
o simile. Ad esempio, questa struttura JSON formattata crea una pipeline con un'azione di origine che fa riferimento a un bucket di input S3 e un'azione di compilazione che utilizza: CodeBuild{ "pipeline": { "roleArn": "arn:aws:iam::
<account-id>
:role/<AWS-CodePipeline-service-role-name>
", "stages": [ { "name": "Source", "actions": [ { "inputArtifacts": [], "name": "Source", "actionTypeId": { "category": "Source", "owner": "AWS", "version": "1", "provider": "S3" }, "outputArtifacts": [ { "name": "MyApp" } ], "configuration": { "S3Bucket": "<bucket-name>
", "S3ObjectKey": "<source-code-file-name.zip>
" }, "runOrder": 1 } ] }, { "name": "Build", "actions": [ { "inputArtifacts": [ { "name": "MyApp" } ], "name": "Build", "actionTypeId": { "category": "Build", "owner": "AWS", "version": "1", "provider": "CodeBuild" }, "outputArtifacts": [ { "name": "default" } ], "configuration": { "ProjectName": "<build-project-name>
" }, "runOrder": 1 } ] } ], "artifactStore": { "type": "S3", "location": "<CodePipeline-internal-bucket-name>
" }, "name": "<my-pipeline-name>
", "version": 1 } }In questi dati in formato: JSON
-
Il valore di
roleArn
deve corrispondere al ruolo ARN di CodePipeline servizio creato o identificato come parte dei prerequisiti. -
I valori di
S3Bucket
eS3ObjectKey
inconfiguration
presumono che il codice sorgente venga archiviato in un bucket S3. Per le impostazioni per altri tipi di repository di codice sorgente, consultate il riferimento alla struttura della CodePipeline pipeline nella Guida per l'AWS CodePipeline utente. -
Il valore di
ProjectName
è il nome del progetto di CodeBuild compilazione creato in precedenza in questa procedura. -
Il valore
location
è il nome del bucket S3 utilizzato da questa pipeline. Per ulteriori informazioni, consulta Creare una policy per un bucket S3 da utilizzare come archivio di artefatti CodePipeline nella Guida per l'utente.AWS CodePipeline -
Il valore di
name
è il nome di questa pipeline. Tutti i nomi di pipeline devono essere univoci per l'account.
Sebbene questi dati descrivano solo un'azione di origine e un'azione di compilazione, puoi aggiungere azioni per attività relative al test, alla distribuzione dell'elemento di output della build, all'invocazione di funzioni e altro ancora. AWS Lambda Per ulteriori informazioni, consultare l'argomento relativo al riferimento della struttura della pipeline AWS CodePipeline nella Guida per l'utente di AWS CodePipeline .
-
-
Passa alla cartella che contiene il JSON file, quindi esegui il CodePipeline create-pipeline comando, specificando il nome del file:
aws codepipeline create-pipeline --cli-input-json file://create-pipeline.json
Nota
È necessario creare la pipeline in una AWS regione in cui CodeBuild è supportata. Per ulteriori informazioni, consulta AWS CodeBuild nella Riferimenti generali di Amazon Web Services.
I dati JSON formattati vengono visualizzati nell'output e CodePipeline creano la pipeline.
-
Per ottenere informazioni sullo stato della pipeline, esegui il CodePipeline get-pipeline-state comando, specificando il nome della pipeline:
aws codepipeline get-pipeline-state --name
<my-pipeline-name>
Nell'output, cercare le informazioni che confermano la buona riuscita della compilazione. Le ellissi (
...
) vengono utilizzate per visualizzare i dati che sono stati omessi per brevità.{ ... "stageStates": [ ... { "actionStates": [ { "actionName": "CodeBuild", "latestExecution": { "status": "SUCCEEDED", ... }, ... } ] } ] }
Se si esegue il comando troppo presto, potrebbe non essere possibile visualizzare le informazioni sull'operazione di compilazione. Potrebbe essere necessario eseguire questo comando più volte fino a quando la pipeline ha terminato l'esecuzione dell'operazione di compilazione.
-
Dopo una compilazione riuscita, seguire le istruzioni per ottenere l'artefatto di output di compilazione. Apri la console Amazon S3 all'indirizzo. https://console.aws.amazon.com/s3/
Nota
Puoi anche ottenere l'artefatto di output della build scegliendo il link Crea artefatti nella pagina dei dettagli della build correlata nella console. CodeBuild Per accedere a questa pagina, ignorare le fasi rimanenti in questa procedura e consultare Visualizzazione dei dettagli delle compilazioni (console).
-
Nell'elenco dei bucket, aprire il bucket utilizzato dalla pipeline. Il nome del bucket deve seguire il formato
codepipeline-
. Puoi ottenere il nome del bucket dal<region-ID>
-<random-number>
create-pipeline.json
file oppure puoi eseguire il CodePipeline get-pipeline comando per ottenere il nome del bucket.aws codepipeline get-pipeline --name
<pipeline-name>
Nell'output, l'oggetto
pipeline
contiene un oggettoartifactStore
, che contiene un valorelocation
con il nome del bucket. -
Aprire la cartella corrispondente al nome della pipeline (ad esempio
).<pipeline-name>
-
In questa cartella, aprire la cartella denominata
default
. -
Estrai i contenuti del file . Se sono presenti più file in questa cartella, estrarre i contenuti del file con il timestamp Last Modified (Ultima modifica) più recente. (Potrebbe essere necessario assegnare un'
.zip
estensione al file in modo da poterlo utilizzare nell'ZIPutilità del sistema.) L'artefatto di output della compilazione si trova nei contenuti estratti del file.