aws-solutions / aws-control-tower-customizations

The Customizations for AWS Control Tower solution combines AWS Control Tower and other highly-available, trusted AWS services to help customers more quickly set up a secure, multi-account AWS environment using AWS best practices.
https://docs.aws.amazon.com/controltower/latest/userguide/cfct-overview.html
Apache License 2.0
361 stars 205 forks source link

New feature: Lambda Compute for CodeBuild #201

Open estanqueiroa opened 4 weeks ago

estanqueiroa commented 4 weeks ago

Is your feature request related to a problem? Please describe. IHAC complaining about pipeline execution taking too long (~19 mins)

Describe the feature you'd like Please update CodeBuild Compute type to "Lambda", so the pipeline execution can be quicker and cheaper.

Additional context

Tried to update it by myself but faced several dependencies issues, it would need a custom Docker Image for Lambda Compute.

What I´ve did:

Replaced in the original template:

Type: LINUX_CONTAINER by LINUX_LAMBDA_CONTAINER ComputeType: BUILD_GENERAL1_SMALL by BUILD_LAMBDA_2GB Image: "aws/codebuild/standard:7.0" by "aws/codebuild/amazonlinux-x86_64-lambda-standard:python3.11"

Errors executing Build project:

/tmp/codebuild/output/tmp/script.sh: line 4: apt-get: command not found

/tmp/codebuild/output/tmp/script.sh: line 4: locale-gen: command not found

install_stage_dependencies.sh: line 41: gem: command not found

[Container] 2024/09/28 21:53:24.587173 Command failed with exit status 127

estanqueiroa commented 3 weeks ago

Update: have implemented a MVP using Lambda Compute and pipeline execution time reduced around 50% running same workload, feel free to reach me out for more details @estanqua (AWS Brazil ProServe)

image (1)