Tutorial: caricare artefatti su Amazon S3 - Amazon CodeCatalyst

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.

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
  1. Crea una politica per il ruolo, come segue:

    1. Accedi a AWS.

    2. Apri la IAM console all'indirizzo https://console.aws.amazon.com/iam/.

    3. Nel pannello di navigazione, selezionare Policies (Policy).

    4. Scegli Create Policy (Crea policy).

    5. Scegli la JSONscheda.

    6. Eliminare il codice esistente.

    7. 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": "*"
    8. Scegliere Next: Tags (Successivo: Tag).

    9. Scegliere Next:Review (Successivo: Rivedi).

    10. In Nome, inserisci:

      codecatalyst-s3-build-policy
    11. Scegli Create Policy (Crea policy).

      Ora hai creato una politica di autorizzazioni.

  2. Crea il ruolo di costruzione, come segue:

    1. Nel riquadro di navigazione, scegli Ruoli e quindi Crea ruolo.

    2. Scegli una politica di fiducia personalizzata.

    3. Elimina la politica di fiducia personalizzata esistente.

    4. 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" } ] }
    5. Scegli Next (Successivo).

    6. Nelle politiche di autorizzazione, cerca codecatalyst-s3-build-policy e seleziona la relativa casella di controllo.

    7. Scegli Next (Successivo).

    8. Per il nome del ruolo, inserisci:

      codecatalyst-s3-build-role
    9. Per la descrizione del ruolo, inserisci:

      CodeCatalyst build role
    10. 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.
  1. Apri la console Amazon S3 all'indirizzo. https://console.aws.amazon.com/s3/

  2. Nel riquadro principale, scegli Crea bucket.

  3. Per il nome del bucket, inserisci:

    codecatalyst-artifact-bucket
  4. 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

  5. Nella parte inferiore della pagina, scegli Crea bucket.

  6. 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
  1. Apri la CodeCatalyst console all'indirizzo https://codecatalyst.aws/.

  2. Vai al tuo progetto,codecatalyst-artifact-project.

  3. Nel riquadro di navigazione, scegli Codice, quindi scegli Archivi di origine.

  4. Scegli Aggiungi repository, quindi scegli Crea repository.

  5. Nel nome del repository, inserisci:

    codecatalyst-artifact-source-repository
  6. 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 chiamataGenerateFiles: al momento del trigger, l'GenerateFilesazione crea due file Hello.txt e Goodbye.txt li impacchetta in un elemento di output chiamato. codecatalystArtifact

  • Un'altra azione di compilazione chiamataUpload: al termine dell'GenerateFilesazione, l'Uploadazione esegue il AWS CLI comando aws s3 sync per caricare i file nel codecatalystArtifact 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
  1. Nel riquadro di navigazione, scegli CI/CD, quindi scegli Flussi di lavoro.

  2. Scegli Crea flusso di lavoro.

  3. Elimina il codice YAML di esempio.

  4. 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 ambiente

    Name: 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:

    Per informazioni sulle proprietà di questo file, consultaAzioni di creazione e test YAML.

  5. (Facoltativo) Scegliete Convalida per assicurarvi che il YAML codice sia valido prima di eseguire il commit.

  6. Scegli Applica.

  7. Nella finestra di dialogo Conferma flusso di lavoro, inserisci quanto segue:

    1. Per il nome del file Workflow, lasciate il valore predefinito,codecatalyst-artifact-workflow.

    2. Per il messaggio di conferma, inserisci:

      add initial workflow file
    3. Per Repository, scegli codecatalyst-artifact-source-repository.

    4. Per il nome del ramo, scegli principale.

    5. 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
  1. Nel riquadro di navigazione, scegli CI/CD, quindi scegli Flussi di lavoro.

  2. Scegli il flusso di lavoro che hai appena creato:. codecatalyst-artifact-workflow

  3. Scegli GenerateFilesdi vedere lo stato di avanzamento della prima azione di costruzione.

  4. Scegli Carica per vedere l'avanzamento della seconda azione di costruzione.

  5. 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'codecatalystArtifactartefatto. 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
  1. Apri la CodeCatalyst console all'indirizzo https://codecatalyst.aws/.

  2. Eliminare il repository di codecatalyst-artifact-source-repository origine.

  3. Eliminare il codecatalyst-artifact-workflow flusso di lavoro.

Per ripulire AWS
  1. Esegui la pulizia in Amazon S3, come segue:

    1. Apri la console Amazon S3 all'indirizzo. https://console.aws.amazon.com/s3/

    2. Elimina i file nel codecatalyst-artifact-bucket bucket.

    3. Eliminare il codecatalyst-artifact-bucket bucket.

  2. Effettua la pulizia nel IAM modo seguente:

    1. Apri la IAM console all'indirizzo https://console.aws.amazon.com/iam/.

    2. Eliminare il codecatalyst-s3-build-policy.

    3. Eliminare il codecatalyst-s3-build-role.