@@ -2,6 +2,7 @@ image: node:lts-jessie | |||||
stages: | stages: | ||||
- test | - test | ||||
- build | |||||
audit: | audit: | ||||
stage: test | stage: test | ||||
@@ -30,4 +31,20 @@ lint-client: | |||||
- eslint . | - eslint . | ||||
only: | only: | ||||
- merge_requests | - merge_requests | ||||
- master | |||||
- master | |||||
build-image: | |||||
stage: build | |||||
image: docker:stable | |||||
services: | |||||
- docker:dind | |||||
before_script: | |||||
- docker login -u gitlab-ci-token -p $CI_JOB_TOKEN $CI_REGISTRY | |||||
variables: | |||||
IMAGE_TAG: $CI_REGISTRY_IMAGE:$CI_COMMIT_REF_SLUG | |||||
script: | |||||
- docker build -t $IMAGE_TAG . | |||||
- docker push $IMAGE_TAG | |||||
only: | |||||
- master | |||||
- tags |
@@ -0,0 +1,20 @@ | |||||
# Base image on Node.js 10.x LTS (dubnium) | |||||
FROM node:10 | |||||
# Create app directory | |||||
WORKDIR /usr/src/isleward | |||||
# Bundle app source | |||||
COPY . . | |||||
# Change directory to src/server/ | |||||
WORKDIR /usr/src/isleward/src/server/ | |||||
# Install npm modules specified in package.json | |||||
RUN npm install --only-production | |||||
# Expose container's port 4000 | |||||
EXPOSE 4000 | |||||
# Launch Isleward server | |||||
CMD ["node", "--expose-gc", "index.js"] |