Skip to content
This repository has been archived by the owner on May 19, 2021. It is now read-only.
/ circleci-demo Public archive

Simple Node.js website to demonstrate CircleCI capabilities

License

Notifications You must be signed in to change notification settings

mvxt/circleci-demo

Repository files navigation

CircleCI SE Challenge CircleCI

Simple Node.js project to demonstrate CircleCI capabilities.

Prerequisites

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)

Setup & Run

  1. Clone the repository and run yarn to install dependencies.
  2. Run yarn start to start a simple web server serving the static assets.

Test

The test uses TestCafe to run UI tests. It also assumes Chrome and Firefox browsers available on the system.

  1. Run yarn test to start tests.

Deploy

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.