pipelines: Invoking a Lambda function
- Dominant language
- TypeScript
- Stars
- 12.9k
- Forks
- 4.6k
- Avg merge
- 2d 3h
- Merged PRs (30d)
- 83
Description
### Describe the feature
Add step that invokes a Lambda function before or after a stage.
Two variants:
1. a Lambda function built and deployed as part of the pipeline, and
2. an existing Lambda function deployed elsewhere.
### Use Case
While anything can be done with a `ShellStep`, the overhead of starting a CodeBuild project can be avoided by instead invoking a Lambda function.
An example is running an ECS task to apply database migrations or reconnecting another Lambda function to its SQS queue after passing in-situ testing.
### Proposed Solution
Add a new blueprint for a new `InvokeLambdaStep` following the modal of `ConfirmPermissionsBroadening`.
### Other Information
I'm existing capabilities would be able to build and deploy the Lambda function in the prior `Build` and `UpdatePipeline` stages.
### Acknowledgements
- [X] I may be able to implement this feature request
- [ ] This feature might incur a breaking change
### CDK version used
3.73.0
### Environment details (OS name and version, etc.)
macos/13.3 (aarch64) nodejs/18.15.0 typescript/5.0.3
Contributor guide
Research direction
Start by reading the ConfirmPermissionsBroadening blueprint and the existing ShellStep pipeline behavior. Define how an InvokeLambdaStep supports Lambda functions built in earlier Build and UpdatePipeline stages as well as existing functions, and how invocation works before or after a stage. Done means both variants and the stated pipeline placement are supported.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- aws, typescript
- Domain
- ci-cd, cloud
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 32/100