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à.
Tutorial: caricare artefatti su Amazon S3
In questo tutorial, imparerai come caricare artefatti in un bucket Amazon S3 utilizzando un flusso di lavoro CodeCatalyst Amazon che include un paio di azioni di compilazione. Queste azioni vengono eseguite in serie all'avvio del flusso di lavoro. La prima azione di compilazione genera due file Hello.txt
e Goodbye.txt
li raggruppa in un elemento di compilazione. La seconda azione di compilazione carica l'artefatto su Amazon S3. Configurerai il flusso di lavoro in modo che venga eseguito ogni volta che invii un commit al tuo repository di origine.
Argomenti
Prerequisiti
Prima di iniziare, avrai bisogno di:
-
È necessario uno CodeCatalyst spazio con un AWS account connesso. Per ulteriori informazioni, consulta Creare uno spazio.
-
Nel tuo spazio, hai bisogno di un progetto vuoto chiamato:
codecatalyst-artifact-project
Usa l'opzione Inizia da zero per creare questo progetto.
Per ulteriori informazioni, consulta Creare un progetto vuoto in Amazon CodeCatalyst.
-
Nel tuo progetto, hai bisogno di un CodeCatalyst ambiente chiamato:
codecatalyst-artifact-environment
Configura questo ambiente come segue:
-
Scegli qualsiasi tipo, ad esempio Development.
-
Connect il tuo AWS account.
-
Per il IAMruolo predefinito, scegli un ruolo qualsiasi. Specificherai un ruolo diverso in seguito.
Per ulteriori informazioni, consulta Implementazione in e Account AWS VPCs.
-
Fase 1: Creare un AWS ruolo
In questo passaggio, crei un AWS IAM ruolo che successivamente assegnerai all'azione di compilazione nel tuo flusso di lavoro. Questo ruolo concede all'azione di CodeCatalyst compilazione l'autorizzazione ad accedere al tuo AWS account e scrivere su Amazon S3 dove verrà archiviato il tuo artefatto. Il ruolo è chiamato ruolo Build.
Nota
Se hai già un ruolo di costruzione che hai creato per un altro tutorial, puoi utilizzarlo anche per questo tutorial. Assicurati solo che disponga delle autorizzazioni e della politica di fiducia mostrate nella procedura seguente.
Per ulteriori informazioni sui IAM ruoli, consulta IAMi ruoli nella Guida per l'AWS AWS Identity and Access Management utente.
Per creare un ruolo di costruzione
-
Crea una politica per il ruolo, come segue:
-
Accedi a AWS.
Apri la IAM console all'indirizzo https://console.aws.amazon.com/iam/
. -
Nel pannello di navigazione, selezionare Policies (Policy).
-
Scegli Create Policy (Crea policy).
-
Scegli la JSONscheda.
-
Eliminare il codice esistente.
-
Incolla il codice seguente:
{ "Version": "2012-10-17", "Statement": [ { "Sid": "VisualEditor0", "Effect": "Allow", "Action": [ "s3:PutObject", "s3:ListBucket" ], "Resource": "*" } ] }
Nota
La prima volta che il ruolo viene utilizzato per eseguire azioni del flusso di lavoro, utilizza il carattere jolly nell'informativa sulla politica delle risorse, quindi definisci la politica inserendo il nome della risorsa dopo che è disponibile.
"Resource": "*"
-
Scegliere Next: Tags (Successivo: Tag).
-
Scegliere Next:Review (Successivo: Rivedi).
-
In Nome, inserisci:
codecatalyst-s3-build-policy
-
Scegli Create Policy (Crea policy).
Ora hai creato una politica di autorizzazioni.
-
-
Crea il ruolo di costruzione, come segue:
-
Nel riquadro di navigazione, scegli Ruoli e quindi Crea ruolo.
-
Scegli una politica di fiducia personalizzata.
-
Elimina la politica di fiducia personalizzata esistente.
-
Aggiungi la seguente politica di fiducia personalizzata:
{ "Version": "2012-10-17", "Statement": [ { "Sid": "", "Effect": "Allow", "Principal": { "Service": [ "codecatalyst-runner.amazonaws.com", "codecatalyst.amazonaws.com" ] }, "Action": "sts:AssumeRole" } ] }
-
Scegli Next (Successivo).
-
Nelle politiche di autorizzazione, cerca
codecatalyst-s3-build-policy
e seleziona la relativa casella di controllo. -
Scegli Next (Successivo).
-
Per il nome del ruolo, inserisci:
codecatalyst-s3-build-role
-
Per la descrizione del ruolo, inserisci:
CodeCatalyst build role
-
Scegliere Crea ruolo.
Ora hai creato un ruolo di sviluppo con una politica di fiducia e una politica di autorizzazioni.
-
Fase 2: creare un bucket Amazon S3
In questo passaggio, crei un bucket Amazon S3 in cui verranno caricati gli elementi Hello.txt
e gli Goodbye.txt
artefatti.
Come creare un bucket Amazon S3.
Apri la console Amazon S3 all'indirizzo. https://console.aws.amazon.com/s3/
-
Nel riquadro principale, scegli Crea bucket.
-
Per il nome del bucket, inserisci:
codecatalyst-artifact-bucket
-
In AWS Region (Regione), scegliere una Regione. Questo tutorial presuppone che tu abbia scelto US West (Oregon) us-west-2. Per informazioni sulle regioni supportate da Amazon S3, consulta gli endpoint e le quote di Amazon Simple Storage Service nel. Riferimenti generali di AWS
-
Nella parte inferiore della pagina, scegli Crea bucket.
-
Copia il nome del bucket che hai appena creato, ad esempio:
codecatalyst-artifact-bucket
Ora hai creato un bucket chiamato codecatalyst-artifact-bucket
nella regione us-west-2 degli Stati Uniti occidentali (Oregon).
Fase 3: Creare un archivio di sorgenti
In questo passaggio, creerai un repository di origine in. CodeCatalyst Questo repository viene utilizzato per archiviare il file di definizione del flusso di lavoro del tutorial.
Per ulteriori informazioni sugli archivi di origine, vedere. Creazione di un repository di sorgenti
Per creare un archivio dei sorgenti
Apri la CodeCatalyst console all'indirizzo https://codecatalyst.aws/
. -
Vai al tuo progetto,
codecatalyst-artifact-project
. -
Nel riquadro di navigazione, scegli Codice, quindi scegli Archivi di origine.
-
Scegli Aggiungi repository, quindi scegli Crea repository.
-
Nel nome del repository, inserisci:
codecatalyst-artifact-source-repository
-
Scegli Create (Crea) .
Ora hai creato un repository chiamato. codecatalyst-artifact-source-repository
Fase 4: Creare un flusso di lavoro
In questo passaggio, crei un flusso di lavoro costituito dai seguenti elementi costitutivi eseguiti in sequenza:
-
Un trigger: questo trigger avvia l'esecuzione automatica del flusso di lavoro quando si invia una modifica all'archivio di origine. Per ulteriori informazioni sui trigger, consulta. L'avvio di un flusso di lavoro viene eseguito automaticamente utilizzando i trigger
-
Un'azione di compilazione chiamata
GenerateFiles
: al momento del trigger, l'GenerateFiles
azione crea due fileHello.txt
eGoodbye.txt
li impacchetta in un elemento di output chiamato.codecatalystArtifact
-
Un'altra azione di compilazione chiamata
Upload
: al termine dell'GenerateFiles
azione, l'Upload
azione esegue il AWS CLI comandoaws s3 sync
per caricare i file nelcodecatalystArtifact
e nel repository di origine nel bucket Amazon S3. AWS CLI Viene fornito preinstallato e preconfigurato sulla piattaforma di CodeCatalyst elaborazione, quindi non è necessario installarlo o configurarlo.Per ulteriori informazioni sul software preconfezionato sulla piattaforma di elaborazione, consulta CodeCatalyst . Specificazione delle immagini dell'ambiente di runtime Per ulteriori informazioni sul
aws s3 sync
comando AWS CLI's, consulta sync nel Command Reference.AWS CLI
Per ulteriori informazioni sull'azione di compilazione, consultaCreazione con flussi di lavoro.
Creazione di un flusso di lavoro
-
Nel riquadro di navigazione, scegli CI/CD, quindi scegli Flussi di lavoro.
-
Scegli Crea flusso di lavoro.
-
Elimina il codice YAML di esempio.
-
Aggiungi il YAML codice seguente:
Nota
Nel YAML codice che segue, puoi omettere la
Connections:
sezione se lo desideri. Se ometti questa sezione, devi assicurarti che il ruolo specificato nel campo Ruolo predefinito IAM nel tuo ambiente includa le autorizzazioni e le politiche di fiducia descritte in. Fase 1: Creare un AWS ruolo Per ulteriori informazioni sulla configurazione di un ambiente con un IAM ruolo predefinito, vedere. Creazione di un ambienteName: codecatalyst-artifact-workflow SchemaVersion: 1.0 Triggers: - Type: Push Branches: - main Actions: GenerateFiles: Identifier: aws/build@v1 Configuration: Steps: # Create the output files. - Run: echo "Hello, World!" > "Hello.txt" - Run: echo "Goodbye!" > "Goodbye.txt" Outputs: Artifacts: - Name: codecatalystArtifact Files: - "**/*" Upload: Identifier: aws/build@v1 DependsOn: - GenerateFiles Environment: Name:
codecatalyst-artifact-environment
Connections: - Name:codecatalyst-account-connection
Role:codecatalyst-s3-build-role
Inputs: Artifacts: - codecatalystArtifact Configuration: Steps: # Upload the output artifact to the S3 bucket. - Run: aws s3 sync . s3://codecatalyst-artifact-bucket
Nel codice precedente, sostituisci:
-
codecatalyst-artifact-environment
con il nome dell'ambiente in cui hai creatoPrerequisiti. -
codecatalyst-account-connection
con il nome della connessione all'account in cui hai creatoPrerequisiti. -
codecatalyst-s3-build-role
con il nome del ruolo di build in cui hai creatoFase 1: Creare un AWS ruolo. -
codecatalyst-artifact-bucket
con il nome dell'Amazon S3 in cui hai creato. Fase 2: creare un bucket Amazon S3
Per informazioni sulle proprietà di questo file, consultaAzioni di creazione e test YAML.
-
-
(Facoltativo) Scegliete Convalida per assicurarvi che il YAML codice sia valido prima di eseguire il commit.
-
Scegli Applica.
-
Nella finestra di dialogo Conferma flusso di lavoro, inserisci quanto segue:
-
Per il nome del file Workflow, lasciate il valore predefinito,
codecatalyst-artifact-workflow
. -
Per il messaggio di conferma, inserisci:
add initial workflow file
-
Per Repository, scegli codecatalyst-artifact-source-repository.
-
Per il nome del ramo, scegli principale.
-
Scegli Applica.
Ora hai creato un flusso di lavoro. L'esecuzione di un flusso di lavoro viene avviata automaticamente a causa del trigger definito nella parte superiore del flusso di lavoro. In particolare, quando hai eseguito il commit (e inviato) del
codecatalyst-artifact-workflow.yaml
file nell'archivio di origine, il trigger ha avviato l'esecuzione del flusso di lavoro. -
Per visualizzare il flusso di lavoro in corso
-
Nel riquadro di navigazione, scegli CI/CD, quindi scegli Flussi di lavoro.
-
Scegli il flusso di lavoro che hai appena creato:.
codecatalyst-artifact-workflow
-
Scegli GenerateFilesdi vedere lo stato di avanzamento della prima azione di costruzione.
-
Scegli Carica per vedere l'avanzamento della seconda azione di costruzione.
-
Al termine dell'azione di caricamento, procedi come segue:
-
Se l'esecuzione del flusso di lavoro è riuscita, passate alla procedura successiva.
-
Se l'esecuzione del flusso di lavoro non è riuscita, scegli Registri per risolvere il problema.
-
Passaggio 5: verifica i risultati
Dopo l'esecuzione del flusso di lavoro, accedi al servizio Amazon S3 e cerca nel tuo codecatalyst-artifact-bucket
secchio. Ora dovrebbe includere i seguenti file e cartelle:
. |— .aws/ |— .git/ |Goodbye.txt |Hello.txt |REAME.md
I Hello.txt
file Goodbye.txt
e sono stati caricati perché facevano parte dell'codecatalystArtifact
artefatto. I README.md
file .aws/
.git/
, e sono stati caricati perché erano presenti nel repository di origine.
Eliminazione
Effettua la pulizia CodeCatalyst ed AWS evita che questi servizi vengano addebitati.
Per pulire CodeCatalyst
Apri la CodeCatalyst console all'indirizzo https://codecatalyst.aws/
. -
Eliminare il repository di
codecatalyst-artifact-source-repository
origine. -
Eliminare il
codecatalyst-artifact-workflow
flusso di lavoro.
Per ripulire AWS
-
Esegui la pulizia in Amazon S3, come segue:
Apri la console Amazon S3 all'indirizzo. https://console.aws.amazon.com/s3/
-
Elimina i file nel
codecatalyst-artifact-bucket
bucket. -
Eliminare il
codecatalyst-artifact-bucket
bucket.
-
Effettua la pulizia nel IAM modo seguente:
Apri la IAM console all'indirizzo https://console.aws.amazon.com/iam/
. -
Eliminare il
codecatalyst-s3-build-policy
. -
Eliminare il
codecatalyst-s3-build-role
.