Skip to content
Snippets Groups Projects
Commit 40e9f1cf authored by Dobromir Palushev's avatar Dobromir Palushev
Browse files

pipeline multiple updates

parent 3811bce2
No related branches found
No related tags found
17 merge requests!72Production update,!70Production update,!67Workflow updates,!66Css test change,!64Pipeline fix,!62Main update,!60Getting staging's latest state,!58Updating Main,!56Main updates,!52Staging->Main,!50Production updates,!47Deployment on main,!45Deployment from main,!41updated logic of the test-job,!39updated logic of the test-job,!37Updating main to reflect staging,!5pipeline multiple updates
...@@ -7,9 +7,10 @@ workflow: ...@@ -7,9 +7,10 @@ workflow:
variables: variables:
DOCKER_VERSION: '20.10.17' DOCKER_VERSION: '20.10.17'
K8S_VERSION: '1.24' MONGO_VERSION: '4.4'
GOOGLE_CLOUD_SDK_IMAGE_VERSION: '400.0.0'
K8S_NAMESPACE: 'todoapp-devops' K8S_NAMESPACE: 'todoapp-devops'
GOOGLE_CLOUD_SDK_IMAGE_VERSION: '400.0.0'
GCP_COMPUTE_REGION: 'europe-west4a'
CONTAINER_TAG: '${CI_REGISTRY_IMAGE}:${CI_PIPELINE_IID}-${CI_COMMIT_SHORT_SHA}' CONTAINER_TAG: '${CI_REGISTRY_IMAGE}:${CI_PIPELINE_IID}-${CI_COMMIT_SHORT_SHA}'
stages: stages:
...@@ -34,11 +35,14 @@ test-image: ...@@ -34,11 +35,14 @@ test-image:
services: services:
- name: docker:${DOCKER_VERSION}-dind - name: docker:${DOCKER_VERSION}-dind
script: script:
- docker run -p 27017:27017 -d mongo:${MONGO_VERSION}
- docker build - docker build
--tag "${CONTAINER_TAG}-test" --tag "${CONTAINER_TAG}-test"
--target=test --target=test
"./app" "./app"
after_script: after_script:
- docker stop mongo:${MONGO_VERSION} | xargs docker rm
- docker image rm --force mongo:${MONGO_VERSION}
- docker image rm --force "${CONTAINER_TAG}-test" - docker image rm --force "${CONTAINER_TAG}-test"
build-image: build-image:
......
...@@ -5,11 +5,14 @@ ARG NODEJS_VERSION='16.17.0' ...@@ -5,11 +5,14 @@ ARG NODEJS_VERSION='16.17.0'
FROM node:$NODEJS_VERSION-alpine AS base FROM node:$NODEJS_VERSION-alpine AS base
ARG \
MONGODB_URL_TEST=mongodb://host.docker.internal:27017/todo-app \
JWT_SECRET_TEST=<my-very-secret-jwt>
ENV \ ENV \
PORT=3000 \ PORT=<dynamically-set-from-k8s> \
# For local dev - mongodb://host.docker.internal:27017/todo-app MONGODB_URL=<dynamically-set-from-k8s> \
MONGODB_URL=<should-be-dynamically-set> \ JWT_SECRET=<dynamically-set-from-k8s>
JWT_SECRET=<should-be-dynamically-set>
# ------------------------------------------------------------------ # ------------------------------------------------------------------
# Test stage # Test stage
...@@ -33,8 +36,12 @@ COPY ./server/package*.json . ...@@ -33,8 +36,12 @@ COPY ./server/package*.json .
RUN npm ci --no-audit --no-fund RUN npm ci --no-audit --no-fund
ARG \
MONGODB_URL_TEST \
JWT_SECRET_TEST
# MONGODB_URL and JWT_SECRET are available as env variables # MONGODB_URL and JWT_SECRET are available as env variables
RUN npm run test RUN MONGODB_URL=$MONGODB_URL_TEST JWT_SECRET=$JWT_SECRET_TEST npm run test
# ------------------------------------------------------------------ # ------------------------------------------------------------------
# Build stage # Build stage
......
...@@ -4,6 +4,4 @@ metadata: ...@@ -4,6 +4,4 @@ metadata:
name: todo-app-config name: todo-app-config
data: data:
PORT: 3000 PORT: 3000
# MONGODB_URL: mongodb://<mongo-service>:27017/todo-app
# mongodb-service.<namespace>?
MONGODB_URL: mongodb-service MONGODB_URL: mongodb-service
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment