version: 2.1 jobs: build_and_test: docker: - image: circleci/node:14 working_directory: ~/app steps: - checkout - run: name: Install Frontend Dependencies command: | npm install - run: name: Install Backend Dependencies command: | cd backend npm install - run: name: Build Frontend command: | npm run build - run: name: Test Frontend command: | npm test build_docker_image: docker: - image: circleci/node:14 working_directory: ~/app steps: - checkout - run: name: Build Docker Image command: | docker build -t $DOCKER_HUB_USERNAME/mern-ludo:latest . - run: name: Push Docker Image command: | echo "$DOCKER_HUB_PASSWORD" | docker login -u "$DOCKER_HUB_USERNAME" --password-stdin docker push $DOCKER_HUB_USERNAME/mern-ludo:latest workflows: version: 2 build: jobs: - build_and_test - build_docker_image: filters: branches: only: main