Add .gitlab-ci.yml to build Dockerfile with cache for master, tag, and all.
This commit is contained in:
parent
a75614edd7
commit
2794910665
|
|
@ -0,0 +1,40 @@
|
||||||
|
image: docker:latest
|
||||||
|
|
||||||
|
services:
|
||||||
|
- docker:dind
|
||||||
|
|
||||||
|
before_script:
|
||||||
|
- docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY
|
||||||
|
|
||||||
|
build-master:
|
||||||
|
stage: build
|
||||||
|
script:
|
||||||
|
- docker pull "$CI_REGISTRY_IMAGE:latest" || true
|
||||||
|
- docker build --cache-from "$CI_REGISTRY_IMAGE:latest" --pull -t "$CI_REGISTRY_IMAGE:latest" .
|
||||||
|
- docker push "$CI_REGISTRY_IMAGE:latest"
|
||||||
|
only:
|
||||||
|
- master
|
||||||
|
- schedules
|
||||||
|
|
||||||
|
build-master-tag:
|
||||||
|
stage: build
|
||||||
|
script:
|
||||||
|
- docker build --pull -t $CI_REGISTRY_IMAGE:$CI_COMMIT_TAG .
|
||||||
|
- docker push $CI_REGISTRY_IMAGE:$CI_COMMIT_TAG
|
||||||
|
only:
|
||||||
|
- tags
|
||||||
|
- schedules
|
||||||
|
- master
|
||||||
|
except:
|
||||||
|
- branches
|
||||||
|
|
||||||
|
build:
|
||||||
|
stage: build
|
||||||
|
script:
|
||||||
|
- docker pull "$CI_REGISTRY_IMAGE:$CI_COMMIT_REF_SLUG" || true
|
||||||
|
- docker build --cache-from "$CI_REGISTRY_IMAGE:$CI_COMMIT_REF_SLUG" --pull -t "$CI_REGISTRY_IMAGE:$CI_COMMIT_REF_SLUG" .
|
||||||
|
- docker push "$CI_REGISTRY_IMAGE:$CI_COMMIT_REF_SLUG"
|
||||||
|
except:
|
||||||
|
- master
|
||||||
|
only:
|
||||||
|
- branches
|
||||||
Loading…
Reference in New Issue