Referencia de acciones de comandos - AWS CodePipeline

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Referencia de acciones de comandos

La acción Comandos permite ejecutar comandos de shell en una instancia de cómputo virtual. Al ejecutar la acción, los comandos especificados en la configuración de la acción se ejecutan en un contenedor independiente. Todos los artefactos que se especifican como artefactos de entrada para una CodeBuild acción están disponibles dentro del contenedor que ejecuta los comandos. Esta acción permite especificar comandos sin necesidad de crear primero un CodeBuild proyecto. Para obtener más información, consulte ActionDeclarationy OutputArtifacten la AWS CodePipeline APIReferencia.

Consideraciones sobre la acción de comandos

Las siguientes consideraciones se aplican a la acción de comandos.

  • La acción de comandos utiliza CodeBuild recursos similares a los de la CodeBuild acción y, al mismo tiempo, permite ejecutar comandos de entorno de shell en una instancia de cómputo virtual sin necesidad de asociar o crear un proyecto de compilación.

    nota

    La ejecución de la acción de comandos generará cargos separados. AWS CodeBuild

  • Como la acción de comandos CodePipeline utiliza CodeBuild recursos, las compilaciones ejecutadas por la acción se atribuirán a los límites de creación de tu cuenta en CodeBuild. Las compilaciones ejecutadas mediante la acción Comandos se tendrán en cuenta para los límites de creación simultánea configurados para esa cuenta.

  • El tiempo de espera de las compilaciones con la acción de comandos es de 55 minutos, según CodeBuild las compilaciones.

  • La instancia de procesamiento utiliza un entorno de compilación aislado en CodeBuild.

    nota

    Como el entorno de compilación aislado se usa a nivel de cuenta, es posible que una instancia se reutilice para otra ejecución en canalización.

  • Se admiten todos los formatos, excepto los formatos multilínea. Debe utilizar el formato de una sola línea al introducir comandos.

  • La acción de comandos no se admite para acciones entre cuentas o regiones.

  • Para esta acción, CodePipeline asumirá la función de servicio de canalización y la utilizará para permitir el acceso a los recursos en tiempo de ejecución. Se recomienda configurar el rol de servicio para que los permisos se limiten al nivel de acción.

  • Los permisos agregados a la función de CodePipeline servicio se detallan enAgregar permisos al rol de servicio de CodePipeline.

  • El permiso necesario para ver los registros en la consola se detalla enPermisos necesarios para ver los registros de procesamiento en la CodePipeline consola.

  • A diferencia de lo que ocurre con otras acciones CodePipeline, no se establecen campos en la configuración de la acción; se establecen los campos de configuración de la acción fuera de la configuración de la acción.

Permisos de política de roles de servicio

Cuando CodePipeline se ejecuta la acción, CodePipeline crea un grupo de registros con el nombre de la canalización, tal como se indica a continuación. Esto le permite reducir los permisos para registrar los recursos utilizando el nombre de la canalización.

/aws/codepipeline/MyPipelineName

Si utiliza una función de servicio existente, para utilizar la acción Comandos, tendrá que añadir los siguientes permisos para la función de servicio.

  • registros: CreateLogGroup

  • registros: CreateLogStream

  • registros: PutLogEvents

En la declaración de política de la función de servicio, limita los permisos al nivel de canalización, como se muestra en el siguiente ejemplo.

{ "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 ver los registros en la consola mediante la página de diálogo de detalles de la acción, se debe añadir el permiso para ver los registros al rol de la consola. Para obtener más información, consulte el ejemplo de política de permisos de la consola enPermisos necesarios para ver los registros de procesamiento en la CodePipeline consola.

Tipo de acción

  • Categoría: Compute

  • Propietario: AWS

  • Proveedor: Commands

  • Versión: 1

Parámetros de configuración

Comandos

Obligatorio: sí

Puede proporcionar comandos de shell para que se ejecute la Commands acción. En la consola, los comandos se introducen en líneas distintas. En elCLI, los comandos se introducen como cadenas independientes.

nota

Los formatos multilínea no son compatibles y generarán un mensaje de error. Se debe utilizar el formato de una sola línea para introducir comandos en el campo Comandos.

Los siguientes detalles proporcionan el cálculo predeterminado que se utiliza para la acción de comandos. Para obtener más información, consulte la referencia de tipos y modos de procesamiento del entorno de compilación en la Guía del CodeBuild usuario.

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

  • Tipo de cómputo: Linux Small

  • computeType Valor del entorno: BUILD _ GENERAL1 _ SMALL

  • Valor del tipo de entorno: LINUX _ CONTAINER

outputVariables

Obligatorio: no

Especifique los nombres de las variables de su entorno que desee exportar. Para obtener una referencia sobre las variables de CodeBuild entorno, consulte Variables de entorno en entornos de compilación en la Guía del CodeBuild usuario.

Archivos

Obligatorio: no

Puede proporcionar los archivos que desee exportar como artefactos de salida para la acción.

El formato admitido para los archivos es el mismo que para los patrones de CodeBuild archivos. Por ejemplo, introduzca **/ para todos los archivos. Para obtener más información, consulte la referencia de especificaciones de compilación CodeBuild en la Guía del CodeBuild usuario.

La página de edición de acciones para una nueva canalización con la acción Comandos

Artefactos de entrada

  • Número de artefactos: 1 to 10

Artefactos de salida

  • Número de artefactos: 0 to 1

Declaración de acción (ejemplo)

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" }

Los recursos relacionados siguientes pueden serle de ayuda cuando trabaje con esta acción.