Anthony Quéré
5 years ago
committed by
GitHub
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with
57 additions and
0 deletions
-
.circleci/config.yml
-
Dockerfile
|
|
@ -7,6 +7,11 @@ globals: |
|
|
postgres: &postgres circleci/postgres:9.6.5 |
|
|
postgres: &postgres circleci/postgres:9.6.5 |
|
|
caches: |
|
|
caches: |
|
|
dependencies: &dependencies dependencies-{{ checksum "package.json" }} |
|
|
dependencies: &dependencies dependencies-{{ checksum "package.json" }} |
|
|
|
|
|
docker_hub: |
|
|
|
|
|
user-id: &dockerhub-user-id anthonyjhoiro |
|
|
|
|
|
password: &dockerhub-password $DOCKERHUB_PASSWORD |
|
|
|
|
|
image: &dockerhub-image devops-tpfinal |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# --- Commands --- # |
|
|
# --- Commands --- # |
|
|
|
|
|
|
|
|
@ -25,6 +30,9 @@ jobs: |
|
|
build: &shared-config |
|
|
build: &shared-config |
|
|
docker: |
|
|
docker: |
|
|
- image: *node |
|
|
- image: *node |
|
|
|
|
|
auth: |
|
|
|
|
|
username: *dockerhub-user-id |
|
|
|
|
|
password: *dockerhub-password |
|
|
working_directory: ~/app |
|
|
working_directory: ~/app |
|
|
steps: |
|
|
steps: |
|
|
- checkout |
|
|
- checkout |
|
|
@ -72,6 +80,28 @@ jobs: |
|
|
name: Lint files |
|
|
name: Lint files |
|
|
command: yarn lint |
|
|
command: yarn lint |
|
|
|
|
|
|
|
|
|
|
|
docker-build: |
|
|
|
|
|
<<: *shared-config |
|
|
|
|
|
environment: |
|
|
|
|
|
DOCKER_HUB_PWD: *dockerhub-password |
|
|
|
|
|
DOCKER_HUB_USER_ID: *dockerhub-user-id |
|
|
|
|
|
DOCKER_HUB_IMAGE: *dockerhub-image |
|
|
|
|
|
steps: |
|
|
|
|
|
- checkout |
|
|
|
|
|
- setup_remote_docker: |
|
|
|
|
|
version: 20.10.7 |
|
|
|
|
|
- run: |
|
|
|
|
|
name: Build docker image |
|
|
|
|
|
command: docker build -t app . |
|
|
|
|
|
- deploy: |
|
|
|
|
|
name: Publish image to Docker Hub |
|
|
|
|
|
command: | |
|
|
|
|
|
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 |
|
|
|
|
|
|
|
|
# --- Workflow definition --- # |
|
|
# --- Workflow definition --- # |
|
|
|
|
|
|
|
|
workflows: |
|
|
workflows: |
|
|
@ -88,3 +118,12 @@ workflows: |
|
|
- lint: |
|
|
- lint: |
|
|
requires: |
|
|
requires: |
|
|
- build |
|
|
- build |
|
|
|
|
|
- docker-build: |
|
|
|
|
|
requires: |
|
|
|
|
|
- test |
|
|
|
|
|
- test-e2e |
|
|
|
|
|
- lint |
|
|
|
|
|
filters: |
|
|
|
|
|
branches: |
|
|
|
|
|
only: |
|
|
|
|
|
- main |
|
|
@ -0,0 +1,18 @@ |
|
|
|
|
|
FROM node:lts as builder |
|
|
|
|
|
WORKDIR /build |
|
|
|
|
|
|
|
|
|
|
|
COPY . . |
|
|
|
|
|
RUN yarn install |
|
|
|
|
|
RUN yarn build |
|
|
|
|
|
|
|
|
|
|
|
FROM node:lts |
|
|
|
|
|
|
|
|
|
|
|
WORKDIR /app |
|
|
|
|
|
|
|
|
|
|
|
COPY --from=builder /build/dist /app/dist |
|
|
|
|
|
COPY --from=builder /build/package.json /app/package.json |
|
|
|
|
|
|
|
|
|
|
|
RUN yarn install --prod |
|
|
|
|
|
|
|
|
|
|
|
CMD ["yarn", "start:prod"] |
|
|
|
|
|
|