Referência de ações de comandos - AWS CodePipeline

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á.

Referência de ações de comandos

A ação Comandos permite que você execute comandos shell em uma instância de computação virtual. Quando você executa a ação, os comandos especificados na configuração da ação são executados em um contêiner separado. Todos os artefatos especificados como artefatos de entrada para uma CodeBuild ação estão disponíveis dentro do contêiner que executa os comandos. Essa ação permite especificar comandos sem primeiro criar um CodeBuild projeto. Para obter mais informações, consulte ActionDeclaratione OutputArtifactna AWS CodePipeline APIReferência.

Considerações sobre a ação de Comandos

As considerações a seguir se aplicam à ação Comandos.

  • A ação de comandos usa CodeBuild recursos semelhantes à CodeBuild ação, ao mesmo tempo em que permite comandos do ambiente shell em uma instância de computação virtual sem a necessidade de associar ou criar um projeto de construção.

    nota

    A execução da ação de comandos acarretará cobranças separadas em AWS CodeBuild.

  • Como a ação Comandos CodePipeline usa CodeBuild recursos, as compilações executadas pela ação serão atribuídas aos limites de criação da sua conta em CodeBuild. As compilações executadas pela ação Comandos contarão para os limites de compilação simultâneos, conforme configurados para essa conta.

  • O tempo limite para compilações com a ação Comandos é de 55 minutos, com base nas CodeBuild compilações.

  • A instância de computação usa um ambiente de compilação isolado em CodeBuild.

    nota

    Como o ambiente de criação isolado é usado no nível da conta, uma instância pode ser reutilizada para a execução de outro pipeline.

  • Todos os formatos são suportados, exceto os formatos de várias linhas. Você deve usar o formato de linha única ao inserir comandos.

  • A ação de comandos não é compatível com ações entre contas ou regiões.

  • Para essa ação, CodePipeline assumirá a função de serviço de pipeline e usará essa função para permitir o acesso aos recursos em tempo de execução. É recomendável configurar a função de serviço para que as permissões sejam reduzidas ao nível da ação.

  • As permissões adicionadas à função CodePipeline de serviço estão detalhadas emAdicionar permissões à função de serviço do CodePipeline.

  • A permissão necessária para visualizar os registros no console está detalhada emPermissões necessárias para visualizar registros computacionais no console CodePipeline .

  • Ao contrário de outras ações em CodePipeline, você não define campos na configuração da ação; você define os campos de configuração da ação fora da configuração da ação.

Permissões da política de função de serviço

Ao CodePipeline executar a ação, CodePipeline cria um grupo de registros usando o nome do pipeline da seguinte forma. Isso permite que você reduza as permissões para registrar recursos usando o nome do pipeline.

/aws/codepipeline/MyPipelineName

Se você estiver usando uma função de serviço existente, para usar a ação Comandos, você precisará adicionar as seguintes permissões para a função de serviço.

  • troncos: CreateLogGroup

  • troncos: CreateLogStream

  • troncos: PutLogEvents

Na declaração de política de função de serviço, reduza as permissões até o nível do pipeline, conforme mostrado no exemplo a seguir.

{ "Effect": "Allow", "Action": [ "logs:CreateLogGroup", "logs:CreateLogStream", "logs:PutLogEvents" ], "Resource": "arn:aws:logs:*:YOUR_AWS_ACCOUNT_ID:log-group:/aws/codepipeline/YOUR_PIPELINE_NAME:*" }

Para visualizar registros no console usando a página de diálogo de detalhes da ação, a permissão para visualizar registros deve ser adicionada à função do console. Para obter mais informações, consulte o exemplo da política de permissões do console emPermissões necessárias para visualizar registros computacionais no console CodePipeline .

Tipo de ação

  • Categoria: Compute

  • Proprietário: AWS

  • Fornecedor: Commands

  • Versão: 1

Parâmetros de configuração

Comandos

Obrigatório: Sim

Você pode fornecer comandos de shell para que a Commands ação seja executada. No console, os comandos são inseridos em linhas separadas. NoCLI, os comandos são inseridos como sequências de caracteres separadas.

nota

Os formatos de várias linhas não são suportados e resultarão em uma mensagem de erro. O formato de linha única deve ser usado para inserir comandos no campo Comandos.

Os detalhes a seguir fornecem a computação padrão usada para a ação Comandos. Para obter mais informações, consulte a referência de modos e tipos de computação do ambiente de criação no Guia do CodeBuild usuário.

  • CodeBuild imagem: aws/codebuild/amazonlinux 2-x86_64 standard: 5.0

  • Tipo de computação: Linux Small

  • computeType Valor ambiental: BUILD _ GENERAL1 _ SMALL

  • Valor do tipo de ambiente: LINUX _ CONTAINER

outputVariables

Obrigatório: Não

Especifique os nomes das variáveis em seu ambiente que você deseja exportar. Para obter uma referência das variáveis de CodeBuild ambiente, consulte Variáveis de ambiente em ambientes de construção no Guia CodeBuild do usuário.

Arquivos

Obrigatório: Não

Você pode fornecer arquivos que deseja exportar como artefatos de saída para a ação.

O formato suportado para arquivos é o mesmo dos padrões de CodeBuild arquivo. Por exemplo, insira **/ para todos os arquivos. Para obter mais informações, consulte a referência da especificação de compilação CodeBuild no Guia CodeBuild do usuário.

A página de ação Editar para um novo pipeline com a ação Comandos

Input artifacts (Artefatos de entrada)

  • Número de artefatos: 1 to 10

Artefatos de saída

  • Número de artefatos: 0 to 1

Declaração de ação (exemplo)

YAML
name: Commands_action actionTypeId: category: Compute owner: AWS provider: Commands version: '1' runOrder: 1 configuration: {} commands: - ls - echo hello - 'echo pipeline Execution Id is #{codepipeline.PipelineExecutionId}' outputArtifacts: - name: BuildArtifact files: - **/ inputArtifacts: - name: SourceArtifact outputVariables: - AWS_DEFAULT_REGION region: us-east-1 namespace: compute
JSON
{ "name": "Commands_action", "actionTypeId": { "category": "Compute", "owner": "AWS", "provider": "Commands", "version": "1" }, "runOrder": 1, "configuration": {}, "commands": [ "ls", "echo hello", "echo pipeline Execution Id is #{codepipeline.PipelineExecutionId}" ], "outputArtifacts": [ { "name": "BuildArtifact", "files": [ "**/" ] } ], "inputArtifacts": [ { "name": "SourceArtifact" } ], "outputVariables": [ "AWS_DEFAULT_REGION" ], "region": "us-east-1", "namespace": "compute" }

Os recursos relacionados a seguir podem ajudar você à medida que trabalha com esta ação.