Inicio de una canalización según una programación - 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.

Inicio de una canalización según una programación

Puedes configurar una regla EventBridge para iniciar una canalización según un cronograma.

Crea una EventBridge regla que programe el inicio de tu canalización (consola)

Para crear una EventBridge regla con una programación como origen del evento
  1. Abre la EventBridge consola de Amazon en https://console.aws.amazon.com/events/.

  2. En el panel de navegación, seleccione Reglas.

  3. Elija Crear regla y, a continuación, en Detalle de regla, elija Programación.

  4. Configure la programación utilizando un intervalo o una expresión establecidos. Para obtener más información, consulte Programar expresiones para reglas.

  5. En Targets, elija CodePipeline.

  6. Introduzca el ARN de canalización para la ejecución de la canalización.

    nota

    Puede encontrar el ARN de la canalización en Configuración de la consola. Consulte Ver el ARN de la canalización y el ARN del rol de servicio (consola).

  7. Elija una de las siguientes opciones para crear o especificar un rol de servicio de IAM que EventBridge otorgue permisos para invocar el destino asociado a su EventBridge regla (en este caso, el objetivo es CodePipeline).

    • Seleccione Crear un nuevo rol para este recurso específico para crear un rol de servicio que otorgue EventBridge permisos para iniciar las ejecuciones de su canalización.

    • Selecciona Usar el rol existente para introducir un rol de servicio que otorgue EventBridge permisos para iniciar las ejecuciones de tu canalización.

  8. Seleccione Configurar los detalles.

  9. En la página Configure rule details (Configurar detalles de regla), escriba un nombre y una descripción para la regla y, a continuación, elija State (Estado) para habilitarla.

  10. Si está satisfecho con la regla, elija Create rule (Crear regla).

Crea una EventBridge regla que programe el inicio de tu canalización (CLI)

Para usar la AWS CLI para crear una regla, ejecuta el put-rule comando y especifica:

  • Un nombre que identifique de forma inequívoca la regla que está creando. Este nombre debe ser único en todas las canalizaciones que crees CodePipeline asociadas a tu AWS cuenta.

  • La expresión de programación para la regla.

Para crear una EventBridge regla con un cronograma como origen del evento
  1. Llame al comando put-rule e incluya los parámetros --name y --schedule-expression.

    Ejemplos:

    El siguiente comando de ejemplo se utiliza --schedule-expression para crear una regla denominada MyRule2 que filtra EventBridge según una programación.

    aws events put-rule --schedule-expression 'cron(15 10 ? * 6L 2002-2005)' --name MyRule2
  2. Otorgue permisos EventBridge para utilizarlos CodePipeline para invocar la regla. Para obtener más información, consulta Uso de políticas basadas en recursos para Amazon. EventBridge

    1. Utilice el siguiente ejemplo para crear la política de confianza que permite que EventBridge asuma el rol de servicio. Denomínelo trustpolicyforEB.json.

      { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "events.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }
    2. Utilice el comando para crear el rol Role-for-MyRule y asocie la política de confianza.

      aws iam create-role --role-name Role-for-MyRule --assume-role-policy-document file://trustpolicyforEB.json
    3. Cree el JSON de la política de permisos tal y como se muestra en este ejemplo para la canalización denominada MyFirstPipeline. Ponga un nombre a la política de permisos permissionspolicyforEB.json.

      { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "codepipeline:StartPipelineExecution" ], "Resource": [ "arn:aws:codepipeline:us-west-2:80398EXAMPLE:MyFirstPipeline" ] } ] }
    4. Utilice el siguiente comando para asociar la nueva política de permisos CodePipeline-Permissions-Policy-for-EB al rol Role-for-MyRule que ha creado.

      aws iam put-role-policy --role-name Role-for-MyRule --policy-name CodePipeline-Permissions-Policy-For-EB --policy-document file://permissionspolicyforCWE.json