.gitlab-ci.yml (view raw)
1# Import des templates de jobs pré-configurés
2include:
3 - project: o/infra/templates
4 file: /gitlab-ci/includes/StrapiBuildDeploy.yaml
5
6# CI variables scopées:
7# - NPM_REGISTRY: URL du NPM registry à utiliser (default: https://npm-8ee.hidora.com/)
8Test:
9 stage: test
10 coverage: /All\sfiles.*?\s+(\d+.\d+)/
11 image: node:current-alpine3.12
12 only:
13 - merge_requests
14 - master
15 script:
16 - echo "45.66.221.1 npm-8ee.hidora.com" >> /etc/hosts
17 - npm set registry ${NPM_REGISTRY:-https://npm-8ee.hidora.com/}
18 - apk add --no-cache python3
19 - cd app
20 - npm i
21 - npm run lint
22 # - npm run test
23 cache:
24 key: '$CI_COMMIT_REF_SLUG'
25 paths:
26 - node_modules/
27 - ~/.npm
28
29# CI variables:
30# - STRAPI_CHART_VERSION: Version du chart Strapi à utiliser
31# - ENV_CONFIG [scopée]: Fichier de configuration values.yaml (requis)
32# - ENV_NAMESPACE [scopée]: Namespace Kubernetes (default: KUBE_NAMESPACE)
33Deploy to Test:
34 extends: .deployStrapi
35 environment:
36 name: test
37 url: 'https://$CI_PROJECT_NAME.dev.octr.ee'
38 rules:
39 - if: '$CI_COMMIT_REF_NAME == "master"'
40
41# CI variables:
42# - ENV_URL [scopée]: URL de l'environnement (requis)
43# - JELASTIC_HOSTER: nom de domaine de l'API Jelastic (requis)
44# - JELASTIC_PASSWORD: Mot de passe pour l'API Jelastic (requis)
45# - JELASTIC_LOGIN: Nom d'utilisateur pour l'API Jelastic (requis)
46# - JELASTIC_ENVNAME: Nom de l'environnement ciblé (requis)
47# - JELASTIC_NODEID: Node ID du container à déployer dans l'environnement (requis)
48# - USE_EXISTING_VOLUME: Indique s'il faut garder les volumes déclarés ou non
49Deploy to Production:
50 stage: deploy
51 environment:
52 name: production
53 url: $ENV_URL
54 rules:
55 - if: '$CI_COMMIT_TAG =~ /v.*[^r][^c]$/'
56 image: mwienk/jelastic-cli
57 script:
58 - /root/jelastic/users/authentication/signin --login $JELASTIC_LOGIN --password $JELASTIC_PASSWORD --platformUrl ${JELASTIC_HOSTER:-app.hidora.com}
59 - /root/jelastic/environment/control/redeploycontainerbyid --envName $JELASTIC_ENVNAME --nodeId $JELASTIC_NODEID --tag ${CI_COMMIT_TAG:-$CI_COMMIT_SHORT_SHA} --useExistingVolumes ${USE_EXISTING_VOLUME:-true}