My NextJS starter to setup my preffered nextjs stack
1stages:
2 - build
3 - push
4
5image: docker:dind
6
7before_script:
8 - echo $CI_JOB_TOKEN | docker login -u gitlab-ci-token --password-stdin $CI_REGISTRY
9
10services:
11 - name: docker:dind
12 alias: docker
13 command: ['--tls=false']
14
15variables:
16 DOCKER_DRIVER: overlay2
17 DOCKER_HOST: tcp://docker:2375/
18 DOCKER_TLS_CERTDIR: ''
19
20Build:
21 stage: build
22 except:
23 variables:
24 - $DOCKER_NO_CACHE
25 script:
26 - docker pull $CI_REGISTRY_IMAGE:latest || true
27 - docker build --cache-from $CI_REGISTRY_IMAGE:latest --tag $CI_REGISTRY_IMAGE:$CI_COMMIT_SHA .
28 - docker push $CI_REGISTRY_IMAGE:$CI_COMMIT_SHA
29
30Push latest:
31 variables:
32 GIT_STRATEGY: none
33 stage: push
34 only:
35 - master
36 script:
37 - docker pull $CI_REGISTRY_IMAGE:$CI_COMMIT_SHA
38 - docker tag $CI_REGISTRY_IMAGE:$CI_COMMIT_SHA $CI_REGISTRY_IMAGE:latest
39 - docker push $CI_REGISTRY_IMAGE:latest
40
41Push tag:
42 variables:
43 GIT_STRATEGY: none
44 stage: push
45 only:
46 - tags
47 script:
48 - docker pull $CI_REGISTRY_IMAGE:$CI_COMMIT_SHA
49 - docker tag $CI_REGISTRY_IMAGE:$CI_COMMIT_SHA $CI_REGISTRY_IMAGE:$CI_COMMIT_REF_NAME
50 - docker push $CI_REGISTRY_IMAGE:$CI_COMMIT_REF_NAME