all repos — caroster @ bb9f16775690500bf0f40b737d144cf47c5c328a

[Octree] Group carpool to your event https://caroster.io

.gitlab-ci.yml (view raw)

  1stages:
  2  - test
  3  - build
  4  - deploy
  5  - analyze
  6
  7# # CI variables scopées:
  8# # - NPM_REGISTRY: URL du NPM registry à utiliser (default: https://npm-8ee.hidora.com/)
  9# Test:
 10#   stage: test
 11#   coverage: /All\sfiles.*?\s+(\d+.\d+)/
 12#   image: node:current-alpine3.12
 13#   rules:
 14#     - if: "$CI_PIPELINE_SOURCE =~ merge_request_event"
 15#     - if: '$CI_COMMIT_REF_NAME == "master"'
 16#   script:
 17#     - npm set registry ${NPM_REGISTRY:-https://npm-8ee.hidora.com/}
 18#     - npm ci
 19#     - npm run test
 20#   cache:
 21#     key: "$CI_COMMIT_REF_SLUG"
 22#     paths:
 23#       - node_modules/
 24#       - ~/.npm
 25
 26Build:
 27  stage: build
 28  image: docker:stable-git
 29  rules:
 30    - if: '$CI_COMMIT_REF_NAME == "master"'
 31  script:
 32    - docker login $CI_REGISTRY -u $CI_REGISTRY_USER -p$CI_REGISTRY_PASSWORD
 33    - docker pull $CI_REGISTRY_IMAGE:latest || true
 34    - docker build --cache-from $CI_REGISTRY_IMAGE:latest -t $CI_REGISTRY_IMAGE:${CI_COMMIT_TAG:-$CI_COMMIT_SHORT_SHA} ${DIRECTORY:-.}
 35    - docker push $CI_REGISTRY_IMAGE:${CI_COMMIT_TAG:-$CI_COMMIT_SHORT_SHA}
 36    - docker tag $CI_REGISTRY_IMAGE:${CI_COMMIT_TAG:-$CI_COMMIT_SHORT_SHA} $CI_REGISTRY_IMAGE:latest
 37    - docker push $CI_REGISTRY_IMAGE:latest
 38
 39# CI variables scopées:
 40# - ENV_CONFIG: Fichier de configuration values.yaml (requis)
 41Deploy to Test:
 42  stage: deploy
 43  image: git.octree.ch:4567/o/infra/templates/ci/kubectl
 44  environment:
 45    name: test
 46    url: "https://$CI_PROJECT_NAME.dev.octr.ee"
 47  rules:
 48    - if: '$CI_COMMIT_REF_NAME == "master"'
 49  script:
 50    - >-
 51      helm upgrade --install $CI_PROJECT_NAME k8s/*
 52      -n $CI_PROJECT_NAME-$CI_ENVIRONMENT_SLUG --cleanup-on-fail
 53      --set strapi.image=$CI_REGISTRY_IMAGE:${CI_COMMIT_TAG:-$CI_COMMIT_SHORT_SHA}
 54      --set strapi.host=$CI_ENVIRONMENT_URL
 55      -f "$ENV_CONFIG"      
 56
 57# CI variables scopées:
 58# - ENV_URL: URL de l'environnement (requis)
 59# - ENV_CONFIG: Fichier de configuration values.yaml (requis)
 60# - ENV_NAMESPACE: Namespace Kubernetes (default: default)
 61Deploy to Staging:
 62  stage: deploy
 63  image: git.octree.ch:4567/o/infra/templates/ci/kubectl
 64  environment:
 65    name: staging
 66    url: $ENV_URL
 67  rules:
 68    - if: "$CI_COMMIT_TAG =~ /v.*-rc$/"
 69  script:
 70    - >-
 71      helm upgrade --install $CI_PROJECT_NAME k8s/*
 72      -n $ENV_NAMESPACE--cleanup-on-fail
 73      --set strapi.image=$CI_REGISTRY_IMAGE:${CI_COMMIT_TAG:-$CI_COMMIT_SHORT_SHA}
 74      --set strapi.host=$CI_ENVIRONMENT_URL
 75      -f "$ENV_CONFIG"      
 76
 77# CI variables scopées:
 78# - ENV_URL: URL de l'environnement (requis)
 79# - ENV_CONFIG: Fichier de configuration values.yaml (requis)
 80# - ENV_NAMESPACE: Namespace Kubernetes (default: default)
 81Deploy to Production:
 82  stage: deploy
 83  image: git.octree.ch:4567/o/infra/templates/ci/kubectl
 84  environment:
 85    name: production
 86    url: $ENV_URL
 87  rules:
 88    - if: "$CI_COMMIT_TAG =~ /v.*[^r][^c]$/"
 89      when: manual
 90  script:
 91    - >-
 92      helm upgrade --install $CI_PROJECT_NAME k8s/*
 93      -n ${ENV_NAMESPACE:-default}--cleanup-on-fail
 94      --set strapi.image=$CI_REGISTRY_IMAGE:${CI_COMMIT_TAG:-$CI_COMMIT_SHORT_SHA}
 95      --set strapi.host=$CI_ENVIRONMENT_URL
 96      -f "$ENV_CONFIG"      
 97
 98# CI variables scopées:
 99# - SONAR_URL: URL de SonarQube (requis)
100# - SONAR_LOGIN: Login pour SonarQube (requis)
101# - SONAR_SOURCE: Dossier à scanner (default: .)
102Code Quality:
103  stage: analyze
104  image: ciricihq/gitlab-sonar-scanner
105  rules:
106    - if: '$CI_PIPELINE_SOURCE =~ "schedule"'
107  script:
108    - >-
109      sonar-scanner -Dsonar.host.url=$SONAR_URL 
110      -Dsonar.projectKey=$CI_PROJECT_NAME-$CI_ENVIRONMENT_SLUG 
111      -Dsonar.login=$SONAR_LOGIN -Dsonar.sources=${SONAR_SOURCE:-.}