Skip to content
Snippets Groups Projects
Commit 44dfad8c authored by Jérôme POIRIER's avatar Jérôme POIRIER
Browse files

ci: fix deployment files

parent b5679fc4
Branches
No related tags found
1 merge request!1Release
Pipeline #66208 passed
stages: stages:
- build # - build
- test # - test
# - sonar
- docker - docker
- sonar
- deploy - deploy
# ********************************************************************************************* # # *********************************************************************************************
# * BUILD BUILD BUILD BUILD BUILD BUILD BUILD BUILD BUILD BUILD BUILD BUILD BUILD BUILD BUILD * # # * BUILD BUILD BUILD BUILD BUILD BUILD BUILD BUILD BUILD BUILD BUILD BUILD BUILD BUILD BUILD *
# * BUILD BUILD BUILD BUILD BUILD BUILD BUILD BUILD BUILD BUILD BUILD BUILD BUILD BUILD BUILD * # # * BUILD BUILD BUILD BUILD BUILD BUILD BUILD BUILD BUILD BUILD BUILD BUILD BUILD BUILD BUILD *
# ********************************************************************************************* # # *********************************************************************************************
build-back: # build-back:
stage: build # stage: build
image: ${CI_DEPENDENCY_PROXY_DIRECT_GROUP_IMAGE_PREFIX}/node:16.11.1-alpine # image: ${CI_DEPENDENCY_PROXY_DIRECT_GROUP_IMAGE_PREFIX}/node:16.11.1-alpine
script: # script:
- cd back # - cd back
- npm i # - npm i
- npm run build # - npm run build
artifacts: # artifacts:
paths: # paths:
- ./back/node_modules # - ./back/node_modules
expire_in: 1h # expire_in: 1h
only: # only:
changes: # changes:
- .gitlab-ci.yml # - .gitlab-ci.yml
- back/**/* # - back/**/*
# ********************************************************************************************* # # *********************************************************************************************
# * TEST TEST TEST TEST TEST TEST TEST TEST TEST TEST TEST TEST TEST TEST TEST TEST TEST TEST * # # * TEST TEST TEST TEST TEST TEST TEST TEST TEST TEST TEST TEST TEST TEST TEST TEST TEST TEST *
# * TEST TEST TEST TEST TEST TEST TEST TEST TEST TEST TEST TEST TEST TEST TEST TEST TEST TEST * # # * TEST TEST TEST TEST TEST TEST TEST TEST TEST TEST TEST TEST TEST TEST TEST TEST TEST TEST *
# ********************************************************************************************* # # *********************************************************************************************
test-back: # test-back:
stage: test # stage: test
image: ${CI_DEPENDENCY_PROXY_DIRECT_GROUP_IMAGE_PREFIX}/node:16.11.1-alpine # image: ${CI_DEPENDENCY_PROXY_DIRECT_GROUP_IMAGE_PREFIX}/node:16.11.1-alpine
script: # script:
- cd back # - cd back
- npm run test:cov # - npm run test:cov
artifacts: # artifacts:
paths: # paths:
- ./back/coverage/lcov.info # - ./back/coverage/lcov.info
expire_in: 5 mins # expire_in: 5 mins
only: # only:
changes: # changes:
- .gitlab-ci.yml # - .gitlab-ci.yml
- back/**/* # - back/**/*
# ********************************************************************************************* # # *********************************************************************************************
# * SONAR SONAR SONAR SONAR SONAR SONAR SONAR SONAR SONAR SONAR SONAR SONAR SONAR SONAR SONAR * # # * SONAR SONAR SONAR SONAR SONAR SONAR SONAR SONAR SONAR SONAR SONAR SONAR SONAR SONAR SONAR *
# * SONAR SONAR SONAR SONAR SONAR SONAR SONAR SONAR SONAR SONAR SONAR SONAR SONAR SONAR SONAR * # # * SONAR SONAR SONAR SONAR SONAR SONAR SONAR SONAR SONAR SONAR SONAR SONAR SONAR SONAR SONAR *
# ********************************************************************************************* # # *********************************************************************************************
sonarqube-back: # sonarqube-back:
stage: sonar # stage: sonar
rules: # rules:
- if: $CI_PIPELINE_SOURCE == "schedule" # - if: $CI_PIPELINE_SOURCE == "schedule"
allow_failure: true # allow_failure: true
before_script: # before_script:
- apk add --no-cache 'npm>7' # - apk add --no-cache 'npm>7'
- cd back # - cd back
- npm install --save sonar-scanner # - npm install --save sonar-scanner
image: # image:
name: ${CI_DEPENDENCY_PROXY_DIRECT_GROUP_IMAGE_PREFIX}/sonarsource/sonar-scanner-cli:4 # name: ${CI_DEPENDENCY_PROXY_DIRECT_GROUP_IMAGE_PREFIX}/sonarsource/sonar-scanner-cli:4
entrypoint: [""] # entrypoint: [""]
variables: # variables:
SONAR_URL: http://sonarqube.forge.grandlyon.com:9000 # SONAR_URL: http://sonarqube.forge.grandlyon.com:9000
GIT_STRATEGY: clone # GIT_STRATEGY: clone
GIT_DEPTH: 0 # GIT_DEPTH: 0
script: # script:
- > # - >
sonar-scanner # sonar-scanner
-Dsonar.projectName=${CI_PROJECT_NAME}-server # -Dsonar.projectName=${CI_PROJECT_NAME}-server
-Dsonar.projectVersion=1.0 # -Dsonar.projectVersion=1.0
-Dsonar.sourceEncoding=UTF-8 # -Dsonar.sourceEncoding=UTF-8
-Dsonar.projectBaseDir=. # -Dsonar.projectBaseDir=.
-Dsonar.host.url=${SONAR_URL} # -Dsonar.host.url=${SONAR_URL}
-Dsonar.projectKey=${SONAR_PROJECT_KEY_SERVER} # -Dsonar.projectKey=${SONAR_PROJECT_KEY_SERVER}
-Dsonar.login=${SONAR_TOKEN_SERVER} # -Dsonar.login=${SONAR_TOKEN_SERVER}
-Dsonar.sources=src # -Dsonar.sources=src
-Dsonar.exclusions=**/main.ts,**/*.module.ts,**/*.spec.ts # -Dsonar.exclusions=**/main.ts,**/*.module.ts,**/*.spec.ts
# ********************************************************************************************* # *********************************************************************************************
# * DOCKER DOCKER DOCKER DOCKER DOCKER DOCKER DOCKER DOCKER DOCKER DOCKER DOCKER DOCKER DOCKE * # * DOCKER DOCKER DOCKER DOCKER DOCKER DOCKER DOCKER DOCKER DOCKER DOCKER DOCKER DOCKER DOCKE *
...@@ -113,8 +113,8 @@ docker-backend-master: ...@@ -113,8 +113,8 @@ docker-backend-master:
- docker login $CI_REGISTRY -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD - docker login $CI_REGISTRY -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD
- docker login ${CI_DEPENDENCY_PROXY_SERVER} -u ${CI_DEPENDENCY_PROXY_USER} -p ${CI_DEPENDENCY_PROXY_PASSWORD} - docker login ${CI_DEPENDENCY_PROXY_SERVER} -u ${CI_DEPENDENCY_PROXY_USER} -p ${CI_DEPENDENCY_PROXY_PASSWORD}
script: script:
- docker build -t "$CI_REGISTRY_IMAGE/backend-files:stable" --build-arg DEPENDENCY_PROXY="$DEPENDENCY_PROXY" back - docker build -t "$CI_REGISTRY_IMAGE/back:stable" --build-arg DEPENDENCY_PROXY="$DEPENDENCY_PROXY" back
- docker push "$CI_REGISTRY_IMAGE/backend-files:stable" - docker push "$CI_REGISTRY_IMAGE/back:stable"
# ********************************************************************************************* # *********************************************************************************************
# Release # Release
...@@ -132,8 +132,8 @@ docker-backend-release: ...@@ -132,8 +132,8 @@ docker-backend-release:
- docker login $CI_REGISTRY -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD - docker login $CI_REGISTRY -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD
- docker login ${CI_DEPENDENCY_PROXY_SERVER} -u ${CI_DEPENDENCY_PROXY_USER} -p ${CI_DEPENDENCY_PROXY_PASSWORD} - docker login ${CI_DEPENDENCY_PROXY_SERVER} -u ${CI_DEPENDENCY_PROXY_USER} -p ${CI_DEPENDENCY_PROXY_PASSWORD}
script: script:
- docker build -t "$CI_REGISTRY_IMAGE/backend-files:rc" --build-arg DEPENDENCY_PROXY="$DEPENDENCY_PROXY" back - docker build -t "$CI_REGISTRY_IMAGE/back:rc" --build-arg DEPENDENCY_PROXY="$DEPENDENCY_PROXY" back
- docker push "$CI_REGISTRY_IMAGE/backend-files:rc" - docker push "$CI_REGISTRY_IMAGE/back:rc"
# ********************************************************************************************* # *********************************************************************************************
# Develop # Develop
...@@ -151,8 +151,8 @@ docker-backend-develop: ...@@ -151,8 +151,8 @@ docker-backend-develop:
- docker login $CI_REGISTRY -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD - docker login $CI_REGISTRY -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD
- docker login ${CI_DEPENDENCY_PROXY_SERVER} -u ${CI_DEPENDENCY_PROXY_USER} -p ${CI_DEPENDENCY_PROXY_PASSWORD} - docker login ${CI_DEPENDENCY_PROXY_SERVER} -u ${CI_DEPENDENCY_PROXY_USER} -p ${CI_DEPENDENCY_PROXY_PASSWORD}
script: script:
- docker build -t "$CI_REGISTRY_IMAGE/backend-files:latest" --build-arg DEPENDENCY_PROXY="$DEPENDENCY_PROXY" back - docker build -t "$CI_REGISTRY_IMAGE/back:latest" --build-arg DEPENDENCY_PROXY="$DEPENDENCY_PROXY" back
- docker push "$CI_REGISTRY_IMAGE/backend-files:latest" - docker push "$CI_REGISTRY_IMAGE/back:latest"
# ********************************************************************************************* # *********************************************************************************************
# MR # MR
...@@ -166,8 +166,8 @@ docker-backend-mr: ...@@ -166,8 +166,8 @@ docker-backend-mr:
- docker login $CI_REGISTRY -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD - docker login $CI_REGISTRY -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD
- docker login ${CI_DEPENDENCY_PROXY_SERVER} -u ${CI_DEPENDENCY_PROXY_USER} -p ${CI_DEPENDENCY_PROXY_PASSWORD} - docker login ${CI_DEPENDENCY_PROXY_SERVER} -u ${CI_DEPENDENCY_PROXY_USER} -p ${CI_DEPENDENCY_PROXY_PASSWORD}
script: script:
- docker build -t "$CI_REGISTRY_IMAGE/backend-files:MR" --build-arg DEPENDENCY_PROXY="$DEPENDENCY_PROXY" back - docker build -t "$CI_REGISTRY_IMAGE/back:MR" --build-arg DEPENDENCY_PROXY="$DEPENDENCY_PROXY" back
- docker push "$CI_REGISTRY_IMAGE/backend-files:MR" - docker push "$CI_REGISTRY_IMAGE/back:MR"
# ********************************************************************************************* # *********************************************************************************************
# * DEPLOY DEPLOY DEPLOY DEPLOY DEPLOY DEPLOY DEPLOY DEPLOY DEPLOY DEPLOY DEPLOY DEPLOY DEPLO * # * DEPLOY DEPLOY DEPLOY DEPLOY DEPLOY DEPLOY DEPLOY DEPLOY DEPLOY DEPLOY DEPLOY DEPLOY DEPLO *
...@@ -184,14 +184,14 @@ docker-backend-mr: ...@@ -184,14 +184,14 @@ docker-backend-mr:
- find deployment/ -name '*.deployment.yml' -exec sed -i "s/REPLICA_ENV/$REPLICA_ENV/g" {} \; - find deployment/ -name '*.deployment.yml' -exec sed -i "s/REPLICA_ENV/$REPLICA_ENV/g" {} \;
# Config map # Config map
- sed -i "s|APP_LOG_DIR|$APP_LOG_DIR|g" deployment/00-backend-files.config-map.yml - sed -i "s|{{APP_LOG_DIR}}|$APP_LOG_DIR|g" deployment/00-backend-files.config-map.yml
- sed -i "s|APP_LOG_MAX_LEVEL|$APP_LOG_MAX_LEVEL|g" deployment/00-backend-files.config-map.yml - sed -i "s|{{APP_LOG_MAX_LEVEL}}|$APP_LOG_MAX_LEVEL|g" deployment/00-backend-files.config-map.yml
- sed -i "s|DOCUMENTS_DIR|$DOCUMENTS_DIR|g" deployment/00-backend-files.config-map.yml - sed -i "s|{{DOCUMENTS_DIR}}|$DOCUMENTS_DIR|g" deployment/00-backend-files.config-map.yml
- sed -i "s|NODE_ENV|$NODE_ENV|g" deployment/00-backend-files.config-map.yml - sed -i "s|{{NODE_ENV}}|$NODE_ENV|g" deployment/00-backend-files.config-map.yml
- sed -i "s|RATE_LIMIT_MAX|$RATE_LIMIT_MAX|g" deployment/00-backend-files.config-map.yml - sed -i "s|{{RATE_LIMIT_MAX}}|$RATE_LIMIT_MAX|g" deployment/00-backend-files.config-map.yml
# Secrets # Secrets
- sed -i "s|API_KEY|$API_KEY|g" deployment/00-backend-files.secrets.yml - sed -i "s|{{API_KEY}}|$API_KEY|g" deployment/00-backend-files.secrets.yml
# ********************************************************************************************* # *********************************************************************************************
# Master # Master
......
Source diff could not be displayed: it is too large. Options to address this: view the blob.
...@@ -4,8 +4,8 @@ metadata: ...@@ -4,8 +4,8 @@ metadata:
name: backend-files-configmap name: backend-files-configmap
namespace: ns-spi-NAMESPACE_ENV-syn namespace: ns-spi-NAMESPACE_ENV-syn
data: data:
app-log-dir: "APP_LOG_DIR" APP_LOG_DIR: "{{APP_LOG_DIR}}"
app-log-max-level: "APP_LOG_MAX_LEVEL" APP_LOG_MAX_LEVEL: "{{APP_LOG_MAX_LEVEL}}"
documents-dir: "DOCUMENTS_DIR" DOCUMENTS_DIR: "{{DOCUMENTS_DIR}}"
node-env: "NODE_ENV" NODE_ENV: "{{NODE_ENV}}"
rate-limit: "RATE_LIMIT_MAX" RATE_LIMIT_MAX: "{{RATE_LIMIT_MAX}}"
...@@ -4,4 +4,4 @@ metadata: ...@@ -4,4 +4,4 @@ metadata:
name: backend-files-secrets name: backend-files-secrets
namespace: ns-spi-NAMESPACE_ENV-syn namespace: ns-spi-NAMESPACE_ENV-syn
stringData: stringData:
api-key: "API_KEY" API_KEY: "{{API_KEY}}"
...@@ -28,15 +28,18 @@ spec: ...@@ -28,15 +28,18 @@ spec:
containers: containers:
- name: backend-files-back - name: backend-files-back
volumeMounts: volumeMounts:
- name: pvc-insertis
mountPath: "/pvc-insertis/documents"
subPath: "documents"
- name: pvc-insertis - name: pvc-insertis
mountPath: "/pvc-insertis/logs" mountPath: "/pvc-insertis/logs"
subPath: "logs" subPath: "logs"
envFrom: envFrom:
- configMapRef: - configMapRef:
name: backend-files-configmap name: backend-files-configmap
- secretRef: - secretRef:
name: backend-files-secrets name: backend-files-secrets
image: registry.forge.grandlyon.com/systemes-dinformation/factory/insertion/backend-files/back:IMG_TAG image: registry.forge.grandlyon.com/systemes-dinformation/factory/insertion/insertion-backend-files/back:IMG_TAG
imagePullPolicy: Always imagePullPolicy: Always
ports: ports:
- containerPort: 9100 - containerPort: 9100
...@@ -48,15 +51,13 @@ spec: ...@@ -48,15 +51,13 @@ spec:
requests: requests:
cpu: 100m cpu: 100m
memory: 200Mi memory: 200Mi
securityContext:
fsGroup: FS_GROUP0000
# Probes # Probes
livenessProbe: livenessProbe:
httpGet: httpGet:
scheme: HTTP scheme: HTTP
path: /health path: /health
port: 3000 port: 9100
initialDelaySeconds: 15 initialDelaySeconds: 15
periodSeconds: 10 periodSeconds: 10
timeoutSeconds: 2 timeoutSeconds: 2
...@@ -67,9 +68,12 @@ spec: ...@@ -67,9 +68,12 @@ spec:
httpGet: httpGet:
scheme: HTTP scheme: HTTP
path: /health path: /health
port: 3000 port: 9100
initialDelaySeconds: 15 initialDelaySeconds: 15
periodSeconds: 10 periodSeconds: 10
timeoutSeconds: 2 timeoutSeconds: 2
successThreshold: 1 successThreshold: 1
failureThreshold: 3 failureThreshold: 3
securityContext:
fsGroup: FS_GROUP0000
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment