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.

Comandos

Al crear una condición, puede agregar la regla Commands. En esta sección, se proporciona una referencia para los parámetros de reglas. Para obtener más información acerca de las reglas y condiciones, consulte Funcionamiento de las condiciones de las etapas.

Puede usar la regla Commands para crear una condición en virtud de la cual, para la correcta ejecución de los comandos, se deben cumplir los criterios de la regla, como que la salida y la ruta del archivo de los comandos sean correctos para una condición beforeEntry.

nota

Para las condiciones beforeEntry que se configuran con el resultado Skip, solo están disponibles las reglas LambdaInvoke y VariableCheck.

Consideraciones sobre la regla de comandos

Las siguientes consideraciones se aplican a la regla de comandos.

  • La regla de comandos usa CodeBuild recursos similares a los de la CodeBuild acción y, al mismo tiempo, permite los comandos del 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 regla de comandos generará cargos separados. AWS CodeBuild

  • Como la regla 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 por la regla 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 regla de comandos es de 55 minutos, según las CodeBuild compilaciones.

  • La instancia de procesamiento utiliza 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.

  • Para esta regla, CodePipeline asumirá la función de servicio de canalización y la usará 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 CodePipeline de servicio se detallan enAgregar 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 procesamiento en la CodePipeline consola. En las siguientes pantallas de ejemplo, utilice el enlace Registros para ver los registros y ver si una regla de comandos en los CloudWatch registros es correcta.

    Página Estado de una canalización con la regla de comandos
    La página de registros es una canalización con la regla de comandos CloudWatch
  • A diferencia de otras acciones 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 se ejecuta la regla, CodePipeline crea un grupo de registros con el nombre de la canalización, tal como se indica a continuación. 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.

  • registros: CreateLogGroup

  • registros: CreateLogStream

  • registros: 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 procesamiento en la CodePipeline consola.

Tipo de regla

  • Categoría: Rule

  • 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 regla 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 regla 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 computación: Linux Small

  • Valor de ComputEtype del entorno: BUILD_ _SMALL GENERAL1

  • Valor del tipo de entorno: LINUX_CONTAINER

Ejemplo de configuraciones de regla

YAML
result: FAIL rules: - name: CommandsRule ruleTypeId: category: Rule owner: AWS provider: Commands version: '1' configuration: {} commands: - ls - printenv inputArtifacts: - name: SourceArtifact region: us-east-1
JSON
{ "result": "FAIL", "rules": [ { "name": "CommandsRule", "ruleTypeId": { "category": "Rule", "owner": "AWS", "provider": "Commands", "version": "1" }, "configuration": {}, "commands": [ "ls", "printenv" ], "inputArtifacts": [ { "name": "SourceArtifact" } ], "region": "us-east-1" } ] }

Los recursos relacionados siguientes pueden serle de ayuda cuando trabaje con esta regla.