From c497d37f1efe163d4439b1943c31ed96907fe68f Mon Sep 17 00:00:00 2001 From: Steffen Vogel Date: Mon, 11 Nov 2019 18:32:24 +0100 Subject: [PATCH] ci: build production docker images for kubernetes deployment --- .gitlab-ci.yml | 48 ++++++++++++++------------------- Dockerfile | 19 ++++++++++++- packaging/docker/Dockerfile | 21 --------------- packaging/docker/Dockerfile.dev | 4 --- 4 files changed, 38 insertions(+), 54 deletions(-) mode change 120000 => 100644 Dockerfile delete mode 100644 packaging/docker/Dockerfile delete mode 100644 packaging/docker/Dockerfile.dev diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index ed24cbe..2e11611 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1,7 +1,7 @@ variables: GIT_SUBMODULE_STRATEGY: normal - DOCKER_TAG: ${CI_COMMIT_REF_NAME} - DOCKER_IMAGE_DEV: villas/web-dev:${CI_COMMIT_REF_NAME} + DOCKER_IMAGE_DEV: node:12.2 + DOCKER_IMAGE: ${CI_REGISTRY}/acs/public/villas/web cache: untracked: true @@ -13,20 +13,12 @@ cache: - .yarn stages: - - prepare - build - test -# - deploy - -prepare: - stage: prepare - script: - - docker build -t ${DOCKER_IMAGE_DEV} -f packaging/docker/Dockerfile.dev . - tags: - - linux - - shell + - deploy -build_job: + +build: stage: build before_script: - mkdir -p build @@ -41,26 +33,26 @@ build_job: tags: - docker -test_job: +test: stage: test script: - npm test image: ${DOCKER_IMAGE_DEV} dependencies: - - build_job + - build tags: - docker -#deploy:docker: -# stage: deploy -# script: -# - docker build -t ${DOCKER_IMAGE} -f packaging/docker/Dockerfile . -# - docker tag villas/web:${DOCKER_TAG} villas/web:latest -# - docker push villas/web:${DOCKER_TAG} -# - docker push villas/web:latest -# tags: -# - shell -# - linux -# only: -# refs: -# - master +deploy:docker: + stage: deploy + before_script: + - docker login -u ${CI_REGISTRY_USER} -p ${CI_REGISTRY_PASSWORD} ${CI_REGISTRY} + script: + - docker build -t ${DOCKER_IMAGE} . + - docker push ${DOCKER_IMAGE} + tags: + - shell + - linux + only: + refs: + - master diff --git a/Dockerfile b/Dockerfile deleted file mode 120000 index 30004e8..0000000 --- a/Dockerfile +++ /dev/null @@ -1 +0,0 @@ -packaging/docker/Dockerfile \ No newline at end of file diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..92283ec --- /dev/null +++ b/Dockerfile @@ -0,0 +1,18 @@ +FROM node:12.2 AS builder + +# Create app directory +RUN mkdir -p /usr/src/app +WORKDIR /usr/src/app + +# use changes to package.json to force Docker not to use the cache +# when we change our application's nodejs dependencies: +ADD package.json /usr/src/app +RUN npm install + +# Install app dependencies +COPY . /usr/src/app +RUN npm run build + +FROM nginx + +COPY --from=builder /usr/src/app/build /usr/share/nginx/html diff --git a/packaging/docker/Dockerfile b/packaging/docker/Dockerfile deleted file mode 100644 index 28b1443..0000000 --- a/packaging/docker/Dockerfile +++ /dev/null @@ -1,21 +0,0 @@ -FROM node:12.2 AS builder - -RUN apt-get install -y \ - git - -# Create app directory -RUN mkdir -p /usr/src/app -WORKDIR /usr/src/app - -# use changes to package.json to force Docker not to use the cache -# when we change our application's nodejs dependencies: -ADD package.json /usr/src/app -RUN npm install - -# Install app dependencies -COPY . /usr/src/app -RUN npm run build - -FROM nginx - -COPY --from=builder /usr/src/app/build /usr/share/nginx/html diff --git a/packaging/docker/Dockerfile.dev b/packaging/docker/Dockerfile.dev deleted file mode 100644 index 7e10c33..0000000 --- a/packaging/docker/Dockerfile.dev +++ /dev/null @@ -1,4 +0,0 @@ -FROM node:12.2 - -RUN apt-get install -y \ - git