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