diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 2b34080533d9a93f715b2abc1f771ab297c6b205..de1ad6768c9c7e95a765ff2289799ed17517f662 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1,5 +1,6 @@ stages: - test + - build test_api: image: ruby:2.5 @@ -16,4 +17,30 @@ test_web: script: - cd schedules_web - yarn - - yarn build \ No newline at end of file + - yarn build + +build_web: + stage: build + retry: 2 + image: + name: gcr.io/kaniko-project/executor:debug + entrypoint: [""] + script: + - mkdir -p /root/.docker + - echo "{\"auths\":{\"$CI_REGISTRY\":{\"username\":\"$CI_REGISTRY_USER\",\"password\":\"$CI_REGISTRY_PASSWORD\"}}}" > /root/.docker/config.json + - /kaniko/executor --context $CI_PROJECT_DIR/schedules_web --dockerfile $CI_PROJECT_DIR/schedules_web/Dockerfile --destination $CI_REGISTRY_IMAGE/web:$CI_COMMIT_TAG + only: + - tags + +build_api: + stage: build + retry: 2 + image: + name: gcr.io/kaniko-project/executor:debug + entrypoint: [""] + script: + - mkdir -p /root/.docker + - echo "{\"auths\":{\"$CI_REGISTRY\":{\"username\":\"$CI_REGISTRY_USER\",\"password\":\"$CI_REGISTRY_PASSWORD\"}}}" > /root/.docker/config.json + - /kaniko/executor --context $CI_PROJECT_DIR/schedules_api --dockerfile $CI_PROJECT_DIR/schedules_api/Dockerfile --destination $CI_REGISTRY_IMAGE/api:$CI_COMMIT_TAG + only: + - tags diff --git a/docker-cloud.yml b/docker-cloud.yml new file mode 100644 index 0000000000000000000000000000000000000000..1e666f1a93f2e6fe689f63608ef9b00d2c53ff26 --- /dev/null +++ b/docker-cloud.yml @@ -0,0 +1,28 @@ +version: "3.3" + +volumes: + dbdata: + +configs: + nginx_conf: + file: ./schedules_web/nginx.conf + +networks: + front: + back: + +services: + api: + image: registry.srct.gmu.edu/srct/schedules/api:0.1.0 + networks: + back: + + web: + image: registry.srct.gmu.edu/srct/schedules/web:0.1.0 + networks: + front: + back: + volumes: + - ./schedules_web:/web + ports: + - 8085:80 diff --git a/schedules_api/Dockerfile b/schedules_api/Dockerfile index 01152e0d83f878a8aee2a56748bf0cbd9f0b225e..fa2afb3046c11829be391e6018f680e4c6424c4b 100644 --- a/schedules_api/Dockerfile +++ b/schedules_api/Dockerfile @@ -6,6 +6,8 @@ ADD . /api EXPOSE 3000 +ENV RAILS_ENV production + RUN bundle install RUN rails db:migrate RUN rails db:seed diff --git a/schedules_web/Dockerfile b/schedules_web/Dockerfile index 391d9f2a960e996d086077fe8fae470204510486..8ba878205b1cdc76035b4298e5072d91df9c7a15 100644 --- a/schedules_web/Dockerfile +++ b/schedules_web/Dockerfile @@ -1,10 +1,9 @@ FROM node:9 -RUN mkdir /web +COPY . /web WORKDIR /web -ADD . /web -EXPOSE 8080 +RUN yarn install && yarn run build -RUN yarn -RUN yarn build +FROM nginx:1.15.0 +COPY --from=0 /web/dist /web