Dmitry Titov 3 years ago
parent 401c712ca4
commit 936d620b3b

@ -1,54 +1,48 @@
# The Docker image that will be used to build your app
image: node:16.5.0
pages:
stage: deploy
cache:
key:
files:
- yarn.lock
prefix: yarn
paths:
- node_modules/
script:
- yarn
- yarn build
- cp -a dist/. public/
artifacts:
paths:
# The folder that contains the files to be exposed at the Page URL
- public
rules:
# This ensures that only pushes to the default branch will trigger
# a pages deploy
- if: $CI_COMMIT_REF_NAME == $CI_DEFAULT_BRANCH
variables:
APP_NAME: postametes_front
IMAGE_NAME: $CI_REGISTRY_IMAGE
stages:
- build
- deploy
build-remote:
.build: &build-common
stage: build
only:
- sst_main
image: docker:20.10-dind
before_script:
- sudo docker login -u $CI_DEPLOY_USER -p $CI_DEPLOY_PASSWORD $CI_REGISTRY
script:
- cd /home/toren332/sst_postamates/
- sudo git fetch
- sudo git reset --hard origin/sst_main
- sudo git submodule foreach git pull origin sst_main
- sudo git add postamates_frontend
- sudo git commit -m "new frontend"
- sudo git push
- sudo docker pull $IMAGE_NAME:builder || true
- sudo docker pull $IMAGE_NAME:$CI_COMMIT_SHORT_SHA || true
- sudo docker build --cache-from $IMAGE_NAME:builder --target builder --tag $IMAGE_NAME:builder .
- sudo docker push $IMAGE_NAME:builder
- sudo docker build --cache-from $IMAGE_NAME:builder --cache-from $IMAGE_NAME:$CI_COMMIT_SHORT_SHA --tag $IMAGE_NAME:$IMAGE_TAG --build-arg REACT_APP_DOMAIN_URL=$REACT_APP_DOMAIN_URL --build-arg BUILDKIT_INLINE_CACHE=1 .
- sudo docker push $IMAGE_NAME:$IMAGE_TAG
tags:
- deploy-remote
deploy-remote:
build-test-job:
<<: *build-common
variables:
IMAGE_TAG: $CI_COMMIT_SHORT_SHA
REACT_APP_DOMAIN_URL: https://$DOMAIN/
rules:
- if: $CI_MERGE_REQUEST_TARGET_BRANCH_NAME == "sst_main"
.deploy: &deploy-common
stage: deploy
only:
- sst_main
before_script:
- sudo docker login -u $CI_DEPLOY_USER -p $CI_DEPLOY_PASSWORD $CI_REGISTRY
script:
- cd /home/toren332/sst_postamates/
- sudo docker-compose down
- sudo git fetch
- sudo git reset --hard origin/sst_main
- sudo git submodule foreach git pull origin sst_main
- sudo docker-compose build --no-cache frontend
- sudo docker-compose up -d
- sudo docker pull $IMAGE_NAME:$IMAGE_TAG
- sudo docker-compose -f $COMPOSE up -d
tags:
- deploy-remote
deploy-test-job:
<<: *deploy-common
variables:
COMPOSE: docker-compose.yml
IMAGE_TAG: $CI_COMMIT_SHORT_SHA
rules:
- if: $CI_COMMIT_BRANCH == "sst_main"

@ -3,4 +3,10 @@ WORKDIR /usr/src/postamates_frontend
COPY package*.json ./
COPY yarn.lock ./
RUN yarn install
ADD . .
COPY . .
ARG REACT_APP_DOMAIN_URL=https://${DOMAIN}/
RUN yarn build
FROM nginx:1.23-alpine
COPY --from=builder /usr/src/postamates_frontend/dist /opt/site
COPY nginx.conf /etc/nginx/nginx.conf

@ -0,0 +1,12 @@
version: "3.9"
services:
front:
image: ${IMAGE_NAME}:${IMAGE_TAG}
container_name: ${APP_NAME}
ports:
- "3002:80"
networks:
default:
name: postamates_network

@ -0,0 +1,25 @@
worker_processes auto;
events {
worker_connections 8000;
multi_accept on;
}
http {
include /etc/nginx/mime.types;
default_type application/octet-stream;
server {
listen 80;
listen [::]:80 default ipv6only=on;
charset UTF-8;
client_max_body_size 200M;
root /opt/site;
location / {
try_files $uri $uri/ /index.html;
}
}
}
Loading…
Cancel
Save