As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Crie um pipeline de imagens da AMI a partir do AWS CLI
Para criar um pipeline de imagem a partir do AWS CLI, execute o create-image-pipeline comando com as opções de configuração que se aplicam ao seu pipeline. Você tem a opção de criar um arquivo JSON que contém toda a configuração do pipeline ou especificar a configuração em tempo de execução. Esta seção usa o método do arquivo de configuração JSON para simplificar o comando.
A frequência com que seu pipeline cria uma nova imagem para incorporar quaisquer atualizações pendentes da imagem base e dos componentes depende do schedule que você configurou. Cada schedule tem os atributos a seguir:
-
scheduleExpression: define o cronograma de execução do pipeline para avaliarpipelineExecutionStartConditione determinar se ele deve iniciar uma compilação. A programação é configurada com expressões cron. Para obter mais informações sobre como formatar uma expressão cron no Image Builder, consulte Usar expressões cron no Image Builder. -
pipelineExecutionStartCondition: determina se seu pipeline deve iniciar a compilação. Os valores válidos são:-
EXPRESSION_MATCH_ONLY: seu pipeline compilará uma imagem sempre que a expressão cron corresponder à hora atual. -
EXPRESSION_MATCH_AND_DEPENDENCY_UPDATES_AVAILABLE— seu pipeline cria uma nova imagem somente quando a expressão do cronograma corresponde e há atualizações pendentes na imagem base ou nos componentes. Se nenhuma atualização estiver pendente, a compilação será ignorada. Para criar imediatamente sem esperar por atualizações, execute o pipeline manualmente.
-
Quando você executa o create-image-pipeline comando no AWS CLI, muitos dos recursos de configuração são opcionais. No entanto, alguns dos recursos têm requisitos condicionais, dependendo do tipo de imagem que o pipeline cria. Os seguintes identificadores de recursos são necessários para os pipelines de imagem da AMI:
-
ARN da fórmula da imagem
-
ARN de configuração de infraestrutura
Exemplo: criar uma imagem do Windows 2019
Este exemplo configura um pipeline que está programado para ser executado uma vez por semana no domingo. O arquivo de configuração mostrado na primeira etapa usa os recursos existentes para a receita de imagem, infraestrutura e configuração de distribuição, junto com outras configurações para criar uma imagem do Windows 2019.
-
Crie um arquivo de configuração (opcional)
Este exemplo usa um arquivo de configuração chamado
create-image-pipeline.jsonpara definir as configurações em um só lugar. Como alternativa, você pode usar as opções da linha de comando ao executar o comando para especificar todos os detalhes que são mostrados aqui no arquivo de configuração.{ "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
-
É necessário incluir a notação
file://no início do caminho do arquivo JSON. -
O caminho para o arquivo JSON deve seguir a convenção apropriada para o sistema operacional de base no qual você está executando o comando. Por exemplo, o Windows usa a barra invertida (\) para se referir ao caminho do diretório, enquanto o Linux e o macOS usam a barra (/).
-
-
Execute o comando para criar uma imagem
Este exemplo usa o arquivo de configuração criado na primeira etapa como entrada para o
create-image-pipelinecomando. Como alternativa, você pode especificar as configurações e os recursos do seu pipeline diretamente ao executar o comando. Para obter mais informações, consulte create-image-pipeline na Referência.AWS CLIaws imagebuilder create-image-pipeline --cli-input-json file://create-image-pipeline.json
Exemplo: criar um pipeline com digitalização de imagens e fluxos de trabalho personalizados
Este exemplo configura um pipeline que verifica a cada sete dias e é executado somente quando as atualizações de dependências estão disponíveis. O arquivo de configuração usa os recursos existentes para a receita e a infraestrutura da imagem. Ele permite a verificação de vulnerabilidades com o Amazon Inspector. A configuração também especifica fluxos de trabalho personalizados com uma função de execução. Grupos paralelos executam testes funcionais e de segurança ao mesmo tempo. Os registros do pipeline são enviados para grupos de CloudWatch registros personalizados.
-
Criar um arquivo de configuração
Crie um arquivo JSON chamado
create-pipeline-with-workflows.json. Esse arquivo define a configuração do pipeline com a digitalização de imagens ativada e fluxos de trabalho de teste personalizados. Substitua os valores do espaço reservado por seus próprios ARNs de recursos.{ "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
-
É necessário incluir a notação
file://no início do caminho do arquivo JSON. -
O caminho para o arquivo JSON deve seguir a convenção apropriada para o sistema operacional de base no qual você está executando o comando. Por exemplo, o Windows usa a barra invertida (\) para se referir ao caminho do diretório, enquanto o Linux e o macOS usam a barra (/).
-
-
Execute o comando
aws imagebuilder create-image-pipeline --cli-input-json file://create-pipeline-with-workflows.json