AWS CodeBuild vs Shake
AWS CodeBuild
aws.amazon.comShake
shakebuild.comSide by side
| Figure | AWS CodeBuild | Shake |
|---|---|---|
| Price from | $0.01/mo | Free |
| Free plan | Yes | Yes |
| Free trial | — | — |
| Open source | — | — |
| Web | Yes | — |
| Windows | Yes | Yes |
| macOS | Yes | Yes |
| Linux | Yes | Yes |
| API | Yes | — |
| Plans published | 7 | 1 |
| Spec score · Build Automation Software | 9.5 (#1) | 7.8 (#18) |
| Purpose | CodeBuild is a fully managed continuous integration service that runs build scripts to compile, test, and package code. | Shake is a Haskell library for writing build systems as an alternative to tools such as make, Ant, and Scons. |
Plans
AWS CodeBuild
- AWS CodeBuild pay-as-you-goFree
- AWS Free Tier (on-demand EC2)Free
- Lambda ARM 1GBFree
- general1.medium$0.01 a month
- general1.small$0.01 a month
- general1.large$0.02 a month
- Reserved x86-64 g1.small$129.60 a month
In their own words
AWS CodeBuild
AWS CodeBuild is a paid, cloud-hosted continuous integration service for compiling, testing, and packaging code from build scripts. It provisions and scales build capacity automatically, so projects do not require users to manage build servers. Preconfigured environments cover Java, Python, Node.js, Ruby, Go, Android, .NET Core for Linux, and Docker; teams can also supply Docker-based environments. A YAML build specification defines commands for each build phase and other settings. Builds can start from CodeCommit, GitHub, GitHub Enterprise, Bitbucket, Amazon S3, or CodePipeline, and can work with Jenkins. Artifacts can be stored in S3 or sent to an artifact repository. IAM provides access controls, while KMS keys encrypt artifacts. Build timing, status, commit ID, metrics, and logs are available through the service and CloudWatch, with SNS event notifications. A free plan provides stated monthly allowances; paid usage starts at 0.01 USD and can add charges for data transfer and related AWS services.
Shake
Shake is an open-source Haskell library for writing build systems, positioned as an alternative to make, Ant, and SCons. Build rules can discover dependencies after earlier rules run, including dependencies revealed by generated files. Supported dependency inputs include files, file existence, environment variables, directory contents, and user-defined values. Shake provides parallel and multicore builds, resource constraints, build caching, and avoids rebuilding outputs when dependency changes do not alter results. Profiling reports can include plots, tables, graphs, and explanations of what built and why. It reports estimated completion time and percentage complete, with progress information usable in continuous-integration systems such as Team City. Shake can execute Ninja files for integration with CMake and Meson, and can build projects using mixed languages, including C/C++, Docker, JavaScript, HTML, and CSS. Build definitions are Haskell programs, although the manual targets readers without prior Haskell knowledge. Shake runs on Linux, macOS, and Windows and is licensed under BSD. Installation uses Haskell Stack followed by `stack install shake`.