Simple Node.js project to demonstrate CircleCI capabilities.
- Yarn and Node.js.
- Free Sumo Logic account w/ CircleCI dashboards & endpoints setup. See Sumo Logic Orb and Sumo Logic Setup Docs for details. You should create a few ENV variables at the project-level for this.
- DockerHub repository for an image.
- AWS Account, Access, and Secret Keys
- AWS ECR repository for an image.
- A context named
demo-prodwith the following ENV variables defined:
| Variable Name | Description |
|---|---|
| AWS_ACCESS_KEY_ID | AWS Access Key ID |
| AWS_SECRET_ACCESS_KEY | The AWS Secret Key generated with the Access Key ID |
| AWS_S3_BUCKET_NAME | URI of bucket name in the form of "s3://bucket-name" |
| AWS_DEFAULT_REGION | The default AWS region, set to us-east-1 or other |
| AWS_REGION | Same value as AWS_DEFAULT_REGION |
| AWS_ECR_ACCOUNT_URL | URL to the account's ECR, without the repo name (ends in ".com") |
| AWS_ECR_REPO_NAME | Name of the repository (e.g "my-image-repo"). AWS_ECR_ACCOUNT_URL combines with AWS_ECR_REPO_NAME to form the full AWS ECR tag. |
| DOCKER_LOGIN | Username for DockerHub login |
| DOCKER_PWD | Password to the DockerHub login |
| DOCKER_TAG | Full tag for the DockerHub repository (e.g. username/repo) |
- Clone the repository and run
yarnto install dependencies. - Run
yarn startto start a simple web server serving the static assets.
The test uses TestCafe to run UI tests. It also assumes Chrome and Firefox browsers available on the system.
- Run
yarn testto start tests.
CircleCI is used to automatically run the tests and, upon manual approval, build Docker images, push them to DockerHub & ECR, and then deploy the website files to S3.
You can visit those jobs by clicking on the status badge above or clicking here.