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 de contêiner 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 recursos são necessários para os pipelines de imagens de contêiner:
-
ARN da fórmula do contêiner
-
ARN de configuração de infraestrutura
Se você não incluir um recurso de configuração de distribuição ao executar o comando create-image-pipeline, a imagem de saída será armazenada no repositório ECR que você especifica como repositório de destino em sua fórmula do contêiner na região em que você executa o comando. Se você incluir um recurso de configuração de distribuição para seu pipeline, o repositório de destino que você especificou para a primeira região na distribuição será usado.
-
Criar um arquivo JSON de entrada da CLI
Use a sua ferramenta favorita de edição de arquivos para criar um arquivo JSON com as chaves a seguir, além de valores válidos para seu ambiente. Este exemplo usa um arquivo denominado
create-image-pipeline.json:{ "name": "MyWindows2019Pipeline", "description": "Builds Windows 2019 Images", "enhancedImageMetadataEnabled": true, "containerRecipeArn": "arn:aws:imagebuilder:us-west-2:123456789012:container-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 seguinte comando, usando o arquivo que você criou como entrada.
aws imagebuilder create-image-pipeline --cli-input-json file://create-image-pipeline.json
Exemplo: criar um pipeline de contêineres com digitalização de imagens e fluxos de trabalho personalizados
Este exemplo configura um pipeline de contêineres que verifica todas as segundas-feiras às 10h UTC 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 do contêiner. Ele permite a verificação de vulnerabilidades com o Amazon Inspector e a integração do ECR. 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-container-pipeline-with-workflows.json. Esse arquivo define a configuração do pipeline do contêiner 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": "MyContainerPipelineWithScanning", "description": "Container pipeline with vulnerability scanning and custom workflows", "containerRecipeArn": "arn:aws:imagebuilder:us-east-1:123456789012:container-recipe/my-container-recipe/1.0.0", "infrastructureConfigurationArn": "arn:aws:imagebuilder:us-east-1:123456789012:infrastructure-configuration/my-infra-config", "distributionConfigurationArn": "arn:aws:imagebuilder:us-east-1:123456789012:distribution-configuration/my-dist-config", "imageScanningConfiguration": { "imageScanningEnabled": true, "ecrConfiguration": { "repositoryName": "my-scanning-repo", "containerTags": ["scan-latest"] } }, "workflows": [ { "workflowArn": "arn:aws:imagebuilder:us-east-1:123456789012:workflow/build/my-build-workflow/1.0.0" }, { "workflowArn": "arn:aws:imagebuilder:us-east-1:123456789012:workflow/test/my-security-scan/1.0.0", "onFailure": "ABORT", "parallelGroup": "security" }, { "workflowArn": "arn:aws:imagebuilder:us-east-1:123456789012:workflow/test/my-compliance-check/1.0.0", "onFailure": "ABORT", "parallelGroup": "security" }, { "workflowArn": "arn:aws:imagebuilder:us-east-1:123456789012:workflow/test/my-functional-test/1.0.0", "onFailure": "CONTINUE", "parallelGroup": "functional" }, { "workflowArn": "arn:aws:imagebuilder:us-east-1: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-container-pipeline-image-logs", "pipelineLogGroupName": "/aws/imagebuilder/my-container-pipeline-execution-logs" }, "imageTestsConfiguration": { "imageTestsEnabled": true, "timeoutMinutes": 120 }, "schedule": { "scheduleExpression": "cron(0 10 ? * MON *)", "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-container-pipeline-with-workflows.json