diff --git a/.circleci/config.yml b/.circleci/config.yml index 6705d33..cee6c93 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -10,6 +10,8 @@ globals: user-id: &dockerhub-user-id anthonyjhoiro password: &dockerhub-password $DOCKERHUB_PASSWORD image: &dockerhub-image devops-tpfinal-front + backends: + prod: &prod-backend-url https://tpfinal-devops-back.herokuapp.com # --- Commands --- # @@ -65,6 +67,9 @@ jobs: docker-build: <<: *shared-config + parameters: + backendurl: + type: string environment: DOCKER_HUB_PWD: *dockerhub-password DOCKER_HUB_USER_ID: *dockerhub-user-id @@ -76,22 +81,23 @@ jobs: - run: name: Build docker image command: | - echo true - #docker build -t app . + docker build -t app --build-arg backend_url=<> . - deploy: name: Publish image to Docker Hub command: | - echo true - #echo $DOCKERHUB_PASSWORD | docker login -u $DOCKER_HUB_USER_ID --password-stdin - #docker tag app $DOCKER_HUB_USER_ID/$DOCKER_HUB_IMAGE:$CIRCLE_BUILD_NUM - #docker tag app $DOCKER_HUB_USER_ID/$DOCKER_HUB_IMAGE:latest - #docker push $DOCKER_HUB_USER_ID/$DOCKER_HUB_IMAGE:$CIRCLE_BUILD_NUM - #docker push $DOCKER_HUB_USER_ID/$DOCKER_HUB_IMAGE:latest + echo $DOCKERHUB_PASSWORD | docker login -u $DOCKER_HUB_USER_ID --password-stdin + docker tag app $DOCKER_HUB_USER_ID/$DOCKER_HUB_IMAGE:$CIRCLE_BUILD_NUM + docker tag app $DOCKER_HUB_USER_ID/$DOCKER_HUB_IMAGE:latest + docker push $DOCKER_HUB_USER_ID/$DOCKER_HUB_IMAGE:$CIRCLE_BUILD_NUM + docker push $DOCKER_HUB_USER_ID/$DOCKER_HUB_IMAGE:latest build-netlify: <<: *shared-config + parameters: + backendurl: + type: string environment: - VITE_BACKEND_URL_URL: https://tpfinal-devops-back.herokuapp.com/ + VITE_BACKEND_URL_URL: <> steps: - setup_dependencies - run: yarn build @@ -137,6 +143,7 @@ workflows: - build - build-netlify: + backendurl: *prod-backend-url requires: - test - lint @@ -154,6 +161,7 @@ workflows: # - main - docker-build: + backendurl: *prod-backend-url requires: - test - lint diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..0ff709c --- /dev/null +++ b/Dockerfile @@ -0,0 +1,20 @@ +FROM node:lts as builder +WORKDIR /build + +ARG backend_url + +ENV VITE_BACKEND_URL_URL=$backend_url + +COPY . . +RUN yarn install +RUN yarn build + +FROM nginx:lts + +WORKDIR /usr/share/nginx/html + + +COPY --from=builder /build/dist . + +CMD ["yarn", "start:prod"] +