From 2229ef9f9db7cd222d2a52f653ba18ccfd3b8cb0 Mon Sep 17 00:00:00 2001 From: alexsanderp Date: Fri, 4 Feb 2022 10:50:08 -0300 Subject: [PATCH] Update Dockerfile --- .github/workflows/deploy.yml | 30 +++++++++++++++++------------- Dockerfile | 8 ++++---- docker-compose.yml | 28 ++++++++++++++++++++++++++++ 3 files changed, 49 insertions(+), 17 deletions(-) create mode 100644 docker-compose.yml diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml index 80cd6b4..b45a4f3 100644 --- a/.github/workflows/deploy.yml +++ b/.github/workflows/deploy.yml @@ -13,6 +13,19 @@ jobs: - name: Checkout uses: actions/checkout@v2 + - name: Install Docker Compose + run: | + python3 -m pip install docker-compose + + - name: Install AWS CLI + run: | + python3 -m pip install awscli + . + - name: Configure AWS Region + uses: aws-actions/configure-aws-credentials@v1 + with: + aws-region: us-east-1 + - name: Extract Environment shell: bash run: | @@ -23,24 +36,15 @@ jobs: fi id: extract_environment - - name: Configure AWS Region - uses: aws-actions/configure-aws-credentials@v1 - with: - aws-region: us-east-1 - - - name: Install AWS CLI - run: | - python3 -m pip install awscli - - name: Login to AWS ECR id: login_ecr uses: aws-actions/amazon-ecr-login@v1 - name: Build, Tag, and Push Image to AWS ECR env: - ECR_REGISTRY: ${{ steps.login_ecr.outputs.registry }} - ECR_REPOSITORY: microservices/maestro_${{ steps.extract_environment.outputs.result }} IMAGE_TAG: latest + ENV: ${{ steps.extract_environment.outputs.result }} run: | - docker build -t $ECR_REGISTRY/$ECR_REPOSITORY:$IMAGE_TAG . - docker push $ECR_REGISTRY/$ECR_REPOSITORY:$IMAGE_TAG + export ENV=$ENV + docker-compose build + docker-compose push diff --git a/Dockerfile b/Dockerfile index 13fd9e2..3b435f3 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,12 +1,12 @@ -FROM node:14 as node_modules -WORKDIR /node_modules +FROM node:14 as packages +WORKDIR /packages COPY package.json . RUN npm install -FROM node:14-alpine +FROM node:alpine WORKDIR /app COPY . /app/ -COPY --from=node_modules /node_modules /app/node_modules +COPY --from=packages /packages/node_modules /app/node_modules RUN npm run build EXPOSE 3333 ENTRYPOINT npm run start diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 0000000..9218f95 --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,28 @@ +version: "3.8" +services: + maestro: + build: . + image: 468720548566.dkr.ecr.us-east-1.amazonaws.com/microservices/maestro_${ENV}:latest + container_name: maestro + restart: always + ports: + - 3333:3333 + + node_exporter: + image: prom/node-exporter:v1.3.1 + container_name: node_exporter + restart: always + volumes: + - /proc:/host/proc:ro + - /sys:/host/sys:ro + - /:/rootfs:ro + - /run/dbus/system_bus_socket:/var/run/dbus/system_bus_socket:ro + command: + - '--path.procfs=/host/proc' + - '--path.rootfs=/rootfs' + - '--path.sysfs=/host/sys' + - '--collector.filesystem.ignored-mount-points=^/(sys|proc|dev|host|etc)($$|/)' + - '--collector.systemd' + - '--collector.processes' + network_mode: host + pid: host