Referencia de la acción de Comandos
La acción de Comandos permite ejecutar comandos del intérprete de comandos en una instancia de computación 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 en una acción de CodeBuild están disponibles dentro del contenedor que ejecuta los comandos. Esta acción permite especificar comandos sin tener que crear en primer lugar un proyecto de CodeBuild. Para obtener más información, consulte ActionDeclaration y OutputArtifact en la Referencia de la API de AWS CodePipeline.
Temas
Consideraciones sobre la acción de Comandos
Las siguientes consideraciones se aplican a la acción de Comandos.
-
La acción de Comandos emplea recursos de CodeBuild de forma similar a la acción de CodeBuild, a la vez que permite ejecutar comandos del entorno del intérprete de comandos en una instancia de computación virtual sin necesidad de asociar o crear un proyecto de compilación.
nota
Si ejecuta la acción de Comandos, se le cobrarán cargos por separado en AWS CodeBuild.
-
Como la acción de Comandos de CodePipeline utiliza recursos de CodeBuild, las compilaciones que ejecute dicha acción se atribuirán a los límites de compilación de su cuenta en CodeBuild. Las compilaciones ejecutadas mediante la acción de Comandos se tendrán en cuenta para los límites de compilación simultánea configurados para esa cuenta.
-
El tiempo de espera para las compilaciones con la acción de Comandos es de 55 minutos, según las compilaciones de CodeBuild.
-
La instancia de computación usa un entorno de compilación aislado en CodeBuild.
nota
Debido a que el entorno de compilación aislado se usa a nivel de cuenta, es posible que una instancia se reutilice para otra ejecución de 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 entre regiones.
-
Para esta acción, CodePipeline asumirá el rol de servicio de canalización y lo 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 al rol de servicio de CodePipeline se detallan en Añadir permisos al rol de servicio de CodePipeline.
-
El permiso necesario para ver los registros en la consola se detalla en Permisos necesarios para ver los registros de computación en la consola de CodePipeline.
-
A diferencia de otras acciones de CodePipeline, no se establecen campos en la configuración de acciones; se establecen los campos de configuración de acciones fuera de la configuración de acciones.
Permisos para las políticas de roles de servicio
Cuando CodePipeline ejecuta la acción, CodePipeline crea un grupo de registro con el nombre de la canalización de la siguiente manera. Esto permite reducir los permisos para registrar los recursos mediante el nombre de la canalización.
/aws/codepipeline/
MyPipelineName
Si utiliza un rol de servicio existente, para utilizar la acción de Comandos tendrá que agregar los siguientes permisos para el rol de servicio.
-
logs:CreateLogGroup
-
logs:CreateLogStream
-
logs:PutLogEvents
En la declaración de las políticas de roles de servicio, limite los permisos al nivel de la 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 del cuadro de diálogo de detalles de la acción, se debe agregar 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 para consolas en Permisos necesarios para ver los registros de computación en la consola de CodePipeline.
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 del intérprete de comandos para que se ejecute la acción
Commands
. En la consola, los comandos se introducen en líneas separadas. En la CLI, 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 la computación predeterminada que se utiliza para la acción de Comandos. Para obtener más información, consulte Tipos y modos de computación del entorno de compilación en la Guía del usuario de CodeBuild.
-
Imagen de CodeBuild: aws/codebuild/amazonlinux2-x86_64-standard:5.0
-
Tipo de computación: Linux Small
-
Valor computeType del entorno: BUILD_GENERAL1_SMALL
-
Valor del tipo de entorno: LINUX_CONTAINER
-
- outputVariables
-
Requerido: no
Especifique los nombres de las variables del entorno que desee exportar. Para obtener una referencia de las variables de entorno de CodeBuild, consulte Variables de entorno en entornos de compilación en la Guía del usuario de CodeBuild.
- Archivos
-
Requerido: 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 archivo de CodeBuild. Por ejemplo, introduzca
**/
para todos los archivos. Para obtener más información, consulte Referencia de especificaciones de compilación en CodeBuild en la Guía del usuario de CodeBuild.
Artefactos de entrada
-
Número de artefactos:
1 to 10
Artefactos de salida
-
Número de artefactos:
0 to 1
Declaración de acciones (ejemplo)
Véase también
Los recursos relacionados siguientes pueden serle de ayuda cuando trabaje con esta acción.
-
Tutorial: Creación de una canalización que ejecute comandos mediante computación: este tutorial proporciona un ejemplo de canalización con la acción de Comandos.