.gitlab-ci.yml (view raw)
1include:
2 - project: o/infra/templates
3 file: /gitlab-ci/includes/jobs.yaml
4 - project: o/infra/templates
5 file: /gitlab-ci/includes/helm-deploy.yaml
6
7Test E2E:
8 stage: test
9 image: node:16-alpine
10 rules:
11 - if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH || $CI_PIPELINE_SOURCE == "merge_request_event"
12 changes:
13 - backend/**/*
14 - e2e/**/*
15 exists:
16 - backend/tests
17 cache:
18 key: node_modules
19 paths:
20 - backend/node_modules
21 - e2e/node_modules
22 script:
23 - cd backend/
24 - yarn
25 - cd ../e2e/
26 - yarn
27 - yarn test
28
29Build NextJS:
30 extends: .build
31 variables:
32 CI_PROJECT_DIR: frontend/
33 CI_REGISTRY_IMAGE: $CI_REGISTRY_IMAGE/next
34 rules:
35 - if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH
36 changes:
37 - frontend/**/*
38
39Build Strapi:
40 extends: .build
41 variables:
42 CI_PROJECT_DIR: backend/
43 CI_REGISTRY_IMAGE: $CI_REGISTRY_IMAGE/strapi
44 rules:
45 - if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH
46 changes:
47 - backend/**/*
48
49Deploy NextJS to Test:
50 extends: .deployJelasticNode
51 needs: ["Build NextJS"]
52 rules:
53 - if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH && $ENVNAME && $NODE_ID_NEXT
54 changes:
55 - frontend/**/*
56 variables:
57 NODE_ID: $NODE_ID_NEXT
58 environment:
59 name: Test
60 url: "https://$ENVNAME.hidora.com"
61
62Deploy Strapi to Test:
63 extends: .deployJelasticNode
64 needs: ["Build Strapi"]
65 variables:
66 NODE_ID: $NODE_ID_STRAPI
67 rules:
68 - if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH && $ENVNAME && $NODE_ID_STRAPI
69 changes:
70 - backend/**/*
71
72Deploy to Kubernetes Test:
73 extends: .deployStrapiNextjs
74 stage: deploy
75 variables:
76 ENVNAME: test