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à.
Crea una pipeline di immagini AMI da AWS CLI
Per creare una pipeline di immagini da AWS CLI, esegui il create-image-pipeline comando con le opzioni di configurazione applicabili alla pipeline. È possibile creare un file JSON che contenga tutta la configurazione della pipeline o specificare la configurazione in fase di esecuzione. Questa sezione utilizza il metodo del file di configurazione JSON per semplificare il comando.
La frequenza con cui la pipeline crea una nuova immagine per incorporare eventuali aggiornamenti in sospeso dell'immagine di base e dei componenti dipende dalla configurazioneschedule. A schedule ha i seguenti attributi:
-
scheduleExpression— Imposta la pianificazione dell'esecuzione della pipeline per valutarepipelineExecutionStartConditione determinare se avviare una build. La pianificazione è configurata con espressioni cron. Per ulteriori informazioni su come formattare un'espressione cron in Image Builder, vedere. Usa le espressioni cron in Image Builder -
pipelineExecutionStartCondition— Determina se la pipeline deve avviare la compilazione. I valori validi includono:-
EXPRESSION_MATCH_ONLY— la pipeline creerà una nuova immagine ogni volta che l'espressione cron corrisponde all'ora corrente. -
EXPRESSION_MATCH_AND_DEPENDENCY_UPDATES_AVAILABLE— la pipeline crea una nuova immagine solo quando l'espressione di pianificazione corrisponde e ci sono aggiornamenti in sospeso all'immagine o ai componenti di base. Se non ci sono aggiornamenti in sospeso, la build viene ignorata. Per creare immediatamente senza attendere gli aggiornamenti, esegui la pipeline manualmente.
-
Quando esegui il create-image-pipeline comando in AWS CLI, molte risorse di configurazione sono opzionali. Tuttavia, alcune risorse hanno requisiti condizionali, a seconda del tipo di immagine creata dalla pipeline. I seguenti identificatori di risorse sono necessari per le pipeline di immagini AMI:
-
Immagine: ricetta ARN
-
Configurazione dell'infrastruttura ARN
Esempio: creare un'immagine Windows 2019
Questo esempio configura una pipeline programmata per essere eseguita una volta alla settimana di domenica. Il file di configurazione mostrato nel primo passaggio utilizza le risorse esistenti per la composizione dell'immagine, l'infrastruttura e la configurazione della distribuzione, insieme ad altre impostazioni per creare un'immagine Windows 2019.
-
Creare un file di configurazione (opzionale)
Questo esempio utilizza un file di configurazione denominato
create-image-pipeline.jsonper configurare le impostazioni in un'unica posizione. In alternativa, è possibile utilizzare le opzioni della riga di comando quando si esegue il comando per specificare tutti i dettagli mostrati qui nel file di configurazione.{ "name": "ExampleWindows2019Pipeline", "description": "Builds Windows 2019 Images", "enhancedImageMetadataEnabled": true, "imageRecipeArn": "arn:aws:imagebuilder:us-west-2:123456789012:image-recipe/my-example-recipe/2020.12.03", "infrastructureConfigurationArn": "arn:aws:imagebuilder:us-west-2:123456789012:infrastructure-configuration/my-example-infrastructure-configuration", "distributionConfigurationArn": "arn:aws:imagebuilder:us-west-2:123456789012:distribution-configuration/my-example-distribution-configuration", "imageTestsConfiguration": { "imageTestsEnabled": true, "timeoutMinutes": 60 }, "schedule": { "scheduleExpression": "cron(0 0 * * SUN *)", "pipelineExecutionStartCondition": "EXPRESSION_MATCH_AND_DEPENDENCY_UPDATES_AVAILABLE" }, "status": "ENABLED" }Nota
-
È necessario includere l'annotazione
file://all'inizio del percorso del file JSON. -
Il percorso del file JSON deve seguire la convenzione appropriata per il sistema operativo di base in cui si esegue il comando. Ad esempio, Windows utilizza la barra rovesciata (\) per fare riferimento al percorso della directory, mentre Linux e macOS utilizzano la barra (/).
-
-
Esegui il comando per creare un'immagine
Questo esempio utilizza il file di configurazione creato nel primo passaggio come input per il
create-image-pipelinecomando. In alternativa, è possibile specificare le impostazioni e le risorse per la pipeline direttamente quando si esegue il comando. Per ulteriori informazioni, vedete create-image-pipeline nel Reference.AWS CLIaws imagebuilder create-image-pipeline --cli-input-json file://create-image-pipeline.json
Esempio: crea una pipeline con scansione di immagini e flussi di lavoro personalizzati
Questo esempio configura una pipeline che verifica ogni sette giorni e viene eseguita solo quando sono disponibili aggiornamenti delle dipendenze. Il file di configurazione utilizza le risorse esistenti per la composizione e l'infrastruttura dell'immagine. Consente la scansione delle vulnerabilità con Amazon Inspector. La configurazione specifica anche flussi di lavoro personalizzati con un ruolo di esecuzione. I gruppi paralleli eseguono test di sicurezza e funzionali contemporaneamente. I log della pipeline vengono inviati a gruppi di CloudWatch log personalizzati.
-
Creare un file di configurazione
Crea un file JSON denominato
create-pipeline-with-workflows.json. Questo file definisce la configurazione della pipeline con la scansione delle immagini abilitata e flussi di lavoro di test personalizzati. Sostituisci i valori segnaposto con i tuoi ARN di risorse.{ "name": "MyPipelineWithScanning", "description": "Pipeline with vulnerability scanning and custom workflows", "imageRecipeArn": "arn:aws:imagebuilder:us-west-2:123456789012:image-recipe/my-recipe/1.0.0", "infrastructureConfigurationArn": "arn:aws:imagebuilder:us-west-2:123456789012:infrastructure-configuration/my-infra-config", "distributionConfigurationArn": "arn:aws:imagebuilder:us-west-2:123456789012:distribution-configuration/my-dist-config", "imageScanningConfiguration": { "imageScanningEnabled": true }, "workflows": [ { "workflowArn": "arn:aws:imagebuilder:us-west-2:123456789012:workflow/build/my-build-workflow/1.0.0" }, { "workflowArn": "arn:aws:imagebuilder:us-west-2:123456789012:workflow/test/my-security-scan/1.0.0", "onFailure": "ABORT", "parallelGroup": "security" }, { "workflowArn": "arn:aws:imagebuilder:us-west-2:123456789012:workflow/test/my-compliance-check/1.0.0", "onFailure": "ABORT", "parallelGroup": "security" }, { "workflowArn": "arn:aws:imagebuilder:us-west-2:123456789012:workflow/test/my-functional-test/1.0.0", "onFailure": "CONTINUE", "parallelGroup": "functional" }, { "workflowArn": "arn:aws:imagebuilder:us-west-2:123456789012:workflow/test/my-performance-test/1.0.0", "onFailure": "CONTINUE", "parallelGroup": "functional" } ], "executionRole": "arn:aws:iam::123456789012:role/ImageBuilderExecutionRole", "loggingConfiguration": { "imageLogGroupName": "/aws/imagebuilder/my-pipeline-image-logs", "pipelineLogGroupName": "/aws/imagebuilder/my-pipeline-execution-logs" }, "imageTestsConfiguration": { "imageTestsEnabled": true, "timeoutMinutes": 60 }, "schedule": { "scheduleExpression": "rate(7 days)", "pipelineExecutionStartCondition": "EXPRESSION_MATCH_AND_DEPENDENCY_UPDATES_AVAILABLE" }, "status": "ENABLED" }Nota
-
È necessario includere l'annotazione
file://all'inizio del percorso del file JSON. -
Il percorso del file JSON deve seguire la convenzione appropriata per il sistema operativo di base in cui si esegue il comando. Ad esempio, Windows utilizza la barra rovesciata (\) per fare riferimento al percorso della directory, mentre Linux e macOS utilizzano la barra (/).
-
-
Eseguire il comando
aws imagebuilder create-image-pipeline --cli-input-json file://create-pipeline-with-workflows.json