57 lines
1.5 KiB
YAML
57 lines
1.5 KiB
YAML
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 |