From e201f9086709b5302f096d36a792c6bcda1d74c2 Mon Sep 17 00:00:00 2001 From: Ricardo Hernandez-Montoya Date: Thu, 27 Apr 2017 16:46:31 +0200 Subject: [PATCH] backend as module; frontend as Docker image; deployment configuration --- .gitlab-ci.yml | 16 +++++++++++++--- .gitmodules | 4 ++++ docker-compose.yml | 13 ++++++++----- nginx/Dockerfile | 10 ++++++++++ 4 files changed, 35 insertions(+), 8 deletions(-) create mode 100644 .gitmodules create mode 100644 nginx/Dockerfile diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 293406e..5306991 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -5,17 +5,16 @@ services: before_script: - docker info -- mkdir build -- mkdir node_modules +- mkdir -p build cache: paths: - build - - node_modules stages: - build - test +- deploy build_job: stage: build @@ -26,3 +25,14 @@ test_job: stage: test script: - docker run --rm -v $(pwd)/package.json:/usr/src/app/package.json -v $(pwd)/public:/usr/src/app/public -v $(pwd)/src:/usr/src/app/src -w /usr/src/app node:7.9.0-slim bash -c 'npm install; npm test' + +deploy_review: + stage: deploy + environment: review + script: + - echo $DEPLOYMENT_CACERT > ~/.docker/ca.pem + - echo $DEPLOYMENT_CLIENT_CERT > ~/.docker/cert.pem + - echo $DEPLOYMENT_CLIENT_KEY > ~/.docker/key.pem + - docker-compose build + - docker-compose -d --tlsverify -H=$DEPLOYMENT_HOST down + - docker-compose -d --tlsverify -H=$DEPLOYMENT_HOST up \ No newline at end of file diff --git a/.gitmodules b/.gitmodules new file mode 100644 index 0000000..cbc88dc --- /dev/null +++ b/.gitmodules @@ -0,0 +1,4 @@ +[submodule "VILLASweb-backend"] + path = VILLASweb-backend + url = VILLASframework/VILLASweb-backend.git + branch = docker-names diff --git a/docker-compose.yml b/docker-compose.yml index afdd7a7..75cf6cf 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -2,10 +2,9 @@ version: "2" services: frontend: - image: nginx:stable - volumes: - - ./nginx:/etc/nginx/conf.d/ - - ./build:/www + build: + context: . + dockerfile: nginx/Dockerfile links: - backend ports: @@ -13,12 +12,16 @@ services: - "443:443" backend: - image: villasweb-backend + build: VILLASweb-backend links: - database + ports: + - "4000:4000" database: image: mongo:latest volumes: - /opt/database:/data/db + ports: + - "27017:27017" diff --git a/nginx/Dockerfile b/nginx/Dockerfile new file mode 100644 index 0000000..3b31184 --- /dev/null +++ b/nginx/Dockerfile @@ -0,0 +1,10 @@ +FROM nginx:stable + +# Copy frontend files and make them accesible to nginx +RUN mkdir /www +COPY ./build /www +RUN chown nginx:nginx -R /www +RUN chmod -R 0755 /www + +# Copy nginx configuration +COPY ./nginx/villas.conf /etc/nginx/conf.d/default.conf