|
2 | 2 |
|
3 | 3 | Utilities and samples for building on CodeBuild
|
4 | 4 |
|
| 5 | +### Sample App: Simple Calculator Service |
| 6 | + |
| 7 | +Simple Node.js Express-based web service that demonstrates continuous integration with AWS CodeBuild and continuous deployment with AWS CodeDeploy/CodePipeline. This application was written for demo purposes only, and is definitely not production ready. |
| 8 | + |
| 9 | +### CI Tooling (Buildspecs) |
| 10 | + |
| 11 | +The buildspecs folder contains the following buildspec files for use with AWS CodeBuild: |
| 12 | +* build.yml: Basic npm-based build with unit tests and code coverage report. |
| 13 | +* shrinkwrap.yml: Upgrade npm dependencies and push an updated shrinkwrap file to source code repository. |
| 14 | +* sonarqube.yml: Run static code analysis against a SonarQube endpoint, with the endpoint and token stored in SSM Parameter Store. |
| 15 | +* build-test-suite-1.yml and build-test-suite-2.yml: Parallelize the unit tests into two separate projects. |
| 16 | +* environment.yml: Build a Docker image with cached npm dependencies |
| 17 | +* build-with-image-cache.yml: Use the cached npm dependencies from a custom Docker image. |
| 18 | + |
| 19 | +### CI Tooling (Glue) |
| 20 | + |
| 21 | +The ci_tools folder contains the following tools for use with AWS Lambda and Amazon CloudWatch Events to hook together the end-to-end CI process: |
| 22 | +* trigger_codebuild.js: Lambda function to start a CodeBuild build. |
| 23 | +* slack_notifications.js: Lambda function to post CodeBuild build notifications into a Slack channel. |
| 24 | +* cwe-rule-configuration/branch_ci.json: CloudWatch Events rule pattern to start a CodeBuild build for every push to the master branch of a CodeCommit repository. |
| 25 | +* cwe-rule-configuration/slack_event_pattern.json: CloudWatch Events rule pattern to notify Slack for failed CodeBuild builds. |
| 26 | +* cwe-rule-configuration/nightly_build_input.json: CloudWatch Events target input to start a CodeBuild build with a specific buildspec override and project name. |
| 27 | + |
| 28 | +### CD Tooling |
| 29 | + |
| 30 | +Contains an appspec.yml file and deploy_scripts folder for deploying the service with AWS CodeDeploy. |
| 31 | + |
5 | 32 | ## License
|
6 | 33 |
|
7 |
| -This library is licensed under the Apache 2.0 License. |
| 34 | +This library is licensed under the Apache 2.0 License. |
0 commit comments