Amazon CodeCatalyst ya no está disponible para nuevos clientes. Los clientes existentes pueden seguir utilizando el servicio con normalidad. Para obtener más información, consulte Cómo migrar de CodeCatalyst.
Ejemplo: Invocación de una función de Lambda
El siguiente ejemplo de flujo de trabajo incluye la acción invocación de AWS Lambda junto con una acción de implementación. El flujo de trabajo envía una notificación de Slack en la que se indica que se ha iniciado una implementación; luego, implementa una aplicación en AWS mediante una plantilla de CloudFormation. El flujo de trabajo consta de los siguientes componentes, que se ejecutarán en orden:
-
Un desencadenador: este desencadenador inicia la ejecución automática del flujo de trabajo cuando se introduce un cambio en el repositorio de código fuente. Para obtener más información acerca de los desencadenadores, consulte Inicio de un flujo de trabajo y ejecución automática mediante desencadenadores.
-
Una acción invocación de AWS Lambda (
LambdaNotify): al activarse, esta acción invoca la función de LambdaNotify-Starten la cuenta y la región de AWS especificadas (my-aws-accountyus-west-2). Al invocarse, la función de Lambda envía una notificación de Slack que indica que se ha iniciado una implementación. -
Una acción implementar pila de CloudFormation (
Deploy): al finalizar la acción invocación de AWS Lambda, la acción implementar pila de CloudFormation ejecuta la plantilla (cfn-template.yml) para desplegar la pila de aplicaciones. Para obtener más información sobre la acción implementar pila de CloudFormation, consulte Implementación de una pila de CloudFormation.
nota
El siguiente ejemplo de flujo de trabajo tiene fines ilustrativos y no funcionará sin una configuración adicional.
nota
En el código de YAML que se muestra a continuación, puede omitir las secciones Connections: si lo desea. Si omite estas secciones, debe asegurarse de que el rol especificado en el campo Rol de IAM predeterminado del entorno incluya los permisos y las políticas de confianza requeridos por las acciones invocación de AWS Lambda e implementar pila de CloudFormation. Para obtener más información sobre cómo configurar un entorno con un rol de IAM predeterminado, consulte Creación de un entorno. Para obtener más información sobre los permisos y las políticas de confianza necesarios para las acciones invocar en AWS Lambda e implementar pila de CloudFormation, consulte la descripción de la propiedad Role en YAML de la acción invocar de AWS Lambda y Acción 'Implementar pila de CloudFormation' de YAML.
Name: codecatalyst-lamda-invoke-workflow SchemaVersion: 1.0 Triggers: - Type: PUSH Branches: - main Actions: LambdaNotify: Identifier: aws/lambda-invoke@v1 Environment: Name: my-production-environment Connections: - Name: my-aws-account Role: codecatalyst-lambda-invoke-role Inputs: Sources: - WorkflowSource Configuration: Function: Notify-Start AWSRegion: us-west-2 Deploy: Identifier: aws/cfn-deploy@v1 Environment: Name: my-production-environment Connections: - Name: my-aws-account Role: codecatalyst-deploy-role Inputs: Sources: - WorkflowSource Configuration: name: my-application-stack region: us-west-2 role-arn: arn:aws:iam::111122223333:role/StackRole template: ./cfn-template.yml capabilities: CAPABILITY_IAM,CAPABILITY_AUTO_EXPAND