Tutorial: crea una pipeline da distribuire su Service Catalog - AWS CodePipeline

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: crea una pipeline da distribuire su Service Catalog

Service Catalog consente di creare e fornire prodotti basati su AWS CloudFormation modelli. Questo tutorial mostra come creare e configurare una pipeline per distribuire il modello di prodotto su Service Catalog e fornire le modifiche apportate nel repository di origine (già creato in GitHub CodeCommit, o Amazon S3).

Nota

Se Amazon S3 è il provider di origine per la tua pipeline, devi caricare nel tuo bucket tutti i file sorgente impacchettati come un unico file.zip. In caso contrario, l'azione di origine ha esito negativo.

Innanzitutto, crei un prodotto in Service Catalog, quindi crei una pipeline in AWS CodePipeline. Questo tutorial offre due opzioni per l'impostazione della configurazione della distribuzione:

Opzione 1: distribuzione su Service Catalog senza un file di configurazione

In questo esempio, carichi il file AWS CloudFormation modello di esempio per un bucket S3, quindi crei il prodotto in Service Catalog. Successivamente, crei la pipeline e specifichi la configurazione di distribuzione nella console. CodePipeline

Fase 1: caricamento di file di modello di esempio nel repository di origine

  1. Aprire un editor di testo. Creare un modello di esempio incollando quanto segue nel file. Salva il file con nome S3_template.json.

    { "AWSTemplateFormatVersion": "2010-09-09", "Description": "CloudFormation Sample Template S3_Bucket: Sample template showing how to create a privately accessible S3 bucket. **WARNING** This template creates an S3 bucket. You will be billed for the resources used if you create a stack from this template.", "Resources": { "S3Bucket": { "Type": "AWS::S3::Bucket", "Properties": {} } }, "Outputs": { "BucketName": { "Value": { "Ref": "S3Bucket" }, "Description": "Name of Amazon S3 bucket to hold website content" } } }

    Questo modello consente di AWS CloudFormation creare un bucket S3 che può essere utilizzato da Service Catalog.

  2. Caricare il file S3_template.json nel repository AWS CodeCommit .

Fase 2: Creare un prodotto in Service Catalog

  1. In qualità di amministratore IT, accedi alla console Service Catalog, vai alla pagina Prodotti, quindi scegli Carica nuovo prodotto.

  2. Nella pagina Upload new product (Carica nuovo prodotto), procedere come segue:

    1. In Product name (Nome prodotto), immettere il nome da utilizzare per il nuovo prodotto.

    2. In Description (Descrizione), immettere la descrizione del catalogo dei prodotti. Questa descrizione è visualizzata nell'elenco dei prodotti per consentire all'utente di scegliere il prodotto corretto.

    3. In Provided by (Fornito da), immettere il nome dell'amministratore o del reparto IT.

    4. Seleziona Successivo.

  3. (Facoltativo) In Enter support details (Inserisci i dettagli di supporto), immettere le informazioni di contatto per il supporto del prodotto e scegliere Next (Successivo).

  4. In Version details (Dettagli versione), procedere come segue:

    1. Scegliere Upload a template file (Carica un file di modello). Individuare il file S3_template.json e caricarlo.

    2. In Version title (Titolo versione), immettere il nome della versione del prodotto (ad esempio devops S3 v2).

    3. In Description (Descrizione), immettere i dettagli che distinguono questa versione dalle altre versioni.

    4. Seleziona Successivo.

  5. Nella pagina Review (Verifica), verificare che le informazioni siano corrette, quindi scegliere Create (Crea).

  6. Nella pagina Products (Prodotti), copiare nel browser l'URL del nuovo prodotto. L'URL contiene l'ID del prodotto. Copiare e conservare questo ID del prodotto. Lo usi quando crei la tua pipeline in CodePipeline.

    Ecco l'URL per un prodotto denominato my-product. Per estrarre l'ID del prodotto, copiare il valore compreso tra il segno di uguale (=) e la E commerciale (&). In questo esempio l'ID del prodotto è prod-example123456.

    https://<region-URL>/servicecatalog/home?region=<region>#/admin-products?productCreated=prod-example123456&createdProductTitle=my-product
    Nota

    Copiare l'URL per il prodotto prima di uscire da questa pagina. Una volta che si esce da questa pagina, è necessario utilizzare l'interfaccia a riga di comando per ottenere l'ID prodotto.

    Dopo alcuni secondi, il prodotto viene visualizzato nella pagina Products (Prodotti). È possibile che sia necessario aggiornare il browser per visualizzare il prodotto nell'elenco.

Fase 3: creazione della pipeline

  1. Per assegnare un nome alla pipeline e selezionare i parametri per la pipeline, procedere nel seguente modo:

    1. Accedi AWS Management Console e apri la CodePipeline console all'indirizzo https://console.aws.amazon.com/codepipeline/.

    2. Selezionare Getting started (Nozioni di base). Scegliere Create pipeline (Crea pipeline) e immettere un nome per la pipeline.

    3. Nel tipo di pipeline, scegli V1 ai fini di questo tutorial. Puoi anche scegliere V2; tuttavia, tieni presente che i tipi di tubazione differiscono per caratteristiche e prezzo. Per ulteriori informazioni, consulta Tipi di pipeline.

    4. In Ruolo di servizio, scegli Nuovo ruolo di servizio per consentire la creazione CodePipeline di un ruolo di servizio in IAM.

    5. Lasciare i valori predefiniti delle impostazioni in Advanced settings (Impostazioni avanzate), quindi scegliere Next (Successivo).

  2. Per aggiungere una fase di origine, procedere come segue:

    1. In Source provider (Provider origine), scegliere AWS CodeCommit.

    2. In Repository name (Nome del repository) e Branch name (Nome ramo), immettere il repository e il ramo da utilizzare per l'operazione di origine.

    3. Seleziona Successivo.

  3. In Add build stage (Aggiunta della fase di compilazione), scegli Skip build stage (Ignora fase di compilazione) e quindi accetta il messaggio di avviso scegliendo Skip (Ignora).

  4. In Aggiunta della fase di distribuzione, procedere come segue:

    1. In Deploy provider (Provider di distribuzione), scegliere AWS Service Catalog.

    2. Per la configurazione della distribuzione, scegli Enter deployment configuration (Inserisci configurazione distribuzione).

    3. In Product ID, incolla l'ID del prodotto che hai copiato dalla console Service Catalog.

    4. In Template file path (Percorso file di modello), immettere il percorso relativo dove è archiviato il file di modello.

    5. In Tipo di prodotto, scegli AWS CloudFormation modello.

    6. Nel Nome della versione del prodotto, inserisci il nome della versione del prodotto specificata in Service Catalog. Se si desidera che la modifica del modello venga distribuita in una nuova versione del prodotto, immettere un nome della versione del prodotto che non è stato utilizzato per una versione precedente dello stesso prodotto.

    7. Per Input artifact (Artefatto di input), scegliere l'artefatto di origine di input.

    8. Seleziona Successivo.

  5. In Review (Verifica), esaminare le impostazioni della pipeline e selezionare Create (Crea).

  6. Dopo che la pipeline è in esecuzione, nella fase di distribuzione, scegliere Details (Dettagli). Verrà aperto il prodotto in Service Catalog.

    Visualizza la fase di implementazione del Service Catalog della tua pipeline
  7. Nelle informazioni sul prodotto, scegliere il nome della versione per aprire il modello di prodotto. Visualizzare la distribuzione del modello.

Passaggio 4: invia una modifica e verifica il prodotto in Service Catalog

  1. Visualizza la pipeline nella CodePipeline console e, nella fase di origine, scegli Dettagli. Il tuo AWS CodeCommit repository di origine si apre nella console. Scegliere Edit (Modifica) ed effettuare una modifica nel file (ad esempio la descrizione).

    "Description": "Name of Amazon S3 bucket to hold and version website content"
  2. Eseguire il commit e il push della modifica. La pipeline viene avviata dopo il push della modifica. Una volta completata l'esecuzione della pipeline, nella fase di implementazione, scegli Dettagli per aprire il prodotto in Service Catalog.

  3. Nelle informazioni sul prodotto, scegliere il nome della nuova versione per aprire il modello di prodotto. Visualizzare la modifica del modello distribuito.

Opzione 2: eseguire la distribuzione su Service Catalog utilizzando un file di configurazione

In questo esempio, carichi il file AWS CloudFormation modello di esempio per un bucket S3, quindi crei il prodotto in Service Catalog. Inoltre carichi un file di configurazione separato che specifica la configurazione della distribuzione. Successivamente, crei la pipeline e specifichi il percorso del file di configurazione.

Fase 1: caricamento di file di modello di esempio nel repository di origine

  1. Aprire un editor di testo. Creare un modello di esempio incollando quanto segue nel file. Salva il file con nome S3_template.json.

    { "AWSTemplateFormatVersion": "2010-09-09", "Description": "CloudFormation Sample Template S3_Bucket: Sample template showing how to create a privately accessible S3 bucket. **WARNING** This template creates an S3 bucket. You will be billed for the resources used if you create a stack from this template.", "Resources": { "S3Bucket": { "Type": "AWS::S3::Bucket", "Properties": {} } }, "Outputs": { "BucketName": { "Value": { "Ref": "S3Bucket" }, "Description": "Name of Amazon S3 bucket to hold website content" } } }

    Questo modello consente di AWS CloudFormation creare un bucket S3 che può essere utilizzato da Service Catalog.

  2. Caricare il file S3_template.json nel repository AWS CodeCommit .

Fase 2: creazione del file di configurazione della distribuzione del prodotto

  1. Aprire un editor di testo. Creare il file di configurazione per il prodotto. Il file di configurazione viene utilizzato per definire i parametri/le preferenze di distribuzione del Service Catalog. Questo file viene utilizzato quando si crea la pipeline.

    In questo esempio viene usato il ProductVersionName "devops S3 v2" e la ProductVersionDescription MyProductVersionDescription. Se si desidera che la modifica del modello venga distribuita in una nuova versione del prodotto, è sufficiente immettere un nome della versione del prodotto che non è stato utilizzato per una versione precedente dello stesso prodotto.

    Salva il file con nome sample_config.json.

    { "SchemaVersion": "1.0", "ProductVersionName": "devops S3 v2", "ProductVersionDescription": "MyProductVersionDescription", "ProductType": "CLOUD_FORMATION_TEMPLATE", "Properties": { "TemplateFilePath": "/S3_template.json" } }

    Questo file crea le informazioni sulla versione del prodotto per ogni volta che si esegue la pipeline.

  2. Caricare il file sample_config.json nel repository AWS CodeCommit . Assicurarsi di caricare questo file nel repository di origine.

Fase 3: Creare un prodotto in Service Catalog

  1. In qualità di amministratore IT, accedi alla console Service Catalog, vai alla pagina Prodotti, quindi scegli Carica nuovo prodotto.

  2. Nella pagina Upload new product (Carica nuovo prodotto), procedere come segue:

    1. In Product name (Nome prodotto), immettere il nome da utilizzare per il nuovo prodotto.

    2. In Description (Descrizione), immettere la descrizione del catalogo dei prodotti. Questa descrizione è presente nell'elenco dei prodotti per consentire all'utente di scegliere il prodotto corretto.

    3. In Provided by (Fornito da), immettere il nome dell'amministratore o del reparto IT.

    4. Seleziona Successivo.

  3. (Facoltativo) In Enter support details (Inserisci i dettagli di supporto), immettere le informazioni di contatto per il supporto del prodotto e scegliere Next (Successivo).

  4. In Version details (Dettagli versione), procedere come segue:

    1. Scegliere Upload a template file (Carica un file di modello). Individuare il file S3_template.json e caricarlo.

    2. In Version title (Titolo versione), inserire il nome della versione del prodotto (ad esempio "devops S3 v2").

    3. In Description (Descrizione), immettere i dettagli che distinguono questa versione dalle altre versioni.

    4. Seleziona Successivo.

  5. Nella pagina Review (Verifica), verificare che le informazioni siano corrette, quindi scegliere Confirm and upload (Conferma e carica).

  6. Nella pagina Products (Prodotti), copiare nel browser l'URL del nuovo prodotto. L'URL contiene l'ID del prodotto. Copiare e conservare questo ID del prodotto. Lo usi quando crei la tua pipeline in CodePipeline.

    Ecco l'URL per un prodotto denominato my-product. Per estrarre l'ID del prodotto, copiare il valore compreso tra il segno di uguale (=) e la E commerciale (&). In questo esempio l'ID del prodotto è prod-example123456.

    https://<region-URL>/servicecatalog/home?region=<region>#/admin-products?productCreated=prod-example123456&createdProductTitle=my-product
    Nota

    Copiare l'URL per il prodotto prima di uscire da questa pagina. Una volta che si esce da questa pagina, è necessario utilizzare l'interfaccia a riga di comando per ottenere l'ID prodotto.

    Dopo alcuni secondi, il prodotto viene visualizzato nella pagina Products (Prodotti). È possibile che sia necessario aggiornare il browser per visualizzare il prodotto nell'elenco.

Fase 4: creazione della pipeline

  1. Per assegnare un nome alla pipeline e selezionare i parametri per la pipeline, procedere nel seguente modo:

    1. Accedi AWS Management Console e apri la CodePipeline console all'indirizzo https://console.aws.amazon.com/codepipeline/.

    2. Selezionare Getting started (Nozioni di base). Scegliere Create pipeline (Crea pipeline) e immettere un nome per la pipeline.

    3. In Ruolo di servizio, scegli Nuovo ruolo di servizio CodePipeline per consentire la creazione di un ruolo di servizio in IAM.

    4. Lasciare i valori predefiniti delle impostazioni in Advanced settings (Impostazioni avanzate), quindi scegliere Next (Successivo).

  2. Per aggiungere una fase di origine, procedere come segue:

    1. In Source provider (Provider origine), scegliere AWS CodeCommit.

    2. In Repository name (Nome del repository) e Branch name (Nome ramo), immettere il repository e il ramo da utilizzare per l'operazione di origine.

    3. Seleziona Successivo.

  3. In Add build stage (Aggiunta della fase di compilazione), scegli Skip build stage (Ignora fase di compilazione) e quindi accetta il messaggio di avviso scegliendo Skip (Ignora).

  4. In Aggiunta della fase di distribuzione, procedere come segue:

    1. In Deploy provider (Provider di distribuzione), scegliere AWS Service Catalog.

    2. Selezionare Use configuration file (Usa file di configurazione).

    3. In Product ID, incolla l'ID del prodotto che hai copiato dalla console Service Catalog.

    4. In Configuration file path (Percorso file di configurazione), immettere il percorso del file di configurazione nel repository.

    5. Seleziona Successivo.

  5. In Review (Verifica), esaminare le impostazioni della pipeline e selezionare Create (Crea).

  6. Dopo che la pipeline è stata eseguita correttamente, nella fase di implementazione, scegli Dettagli per aprire il prodotto in Service Catalog.

    Visualizza la fase di implementazione del Service Catalog della tua pipeline
  7. Nelle informazioni sul prodotto, scegliere il nome della versione per aprire il modello di prodotto. Visualizzare la distribuzione del modello.

Fase 5: push di una modifica e verifica del prodotto in Service Catalog

  1. Visualizza la pipeline nella CodePipeline console e, nella fase di origine, scegli Dettagli. Il tuo AWS CodeCommit repository di origine si apre nella console. Scegliere Edit (Modifica) ed effettuare una modifica nel file (ad esempio la descrizione).

    "Description": "Name of Amazon S3 bucket to hold and version website content"
  2. Eseguire il commit e il push della modifica. La pipeline viene avviata dopo il push della modifica. Una volta completata l'esecuzione della pipeline, nella fase di implementazione, scegli Dettagli per aprire il prodotto in Service Catalog.

  3. Nelle informazioni sul prodotto, scegliere il nome della nuova versione per aprire il modello di prodotto. Visualizzare la modifica del modello distribuito.