-
Notifications
You must be signed in to change notification settings - Fork 0
/
.gitlab-ci.yml
36 lines (33 loc) · 1.15 KB
/
.gitlab-ci.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
stages:
- build
pack:
stage: build
image: docker:latest
services:
- docker:dind
before_script:
- docker login -u "${CI_REGISTRY_USER}" -p "${CI_REGISTRY_PASSWORD}" ${CI_REGISTRY}
- apk add git
script:
# decide which image tags to build and push
- |
tags=":${CI_COMMIT_REF_SLUG} :${CI_COMMIT_REF_SLUG}-$(git describe --dirty --always)"
if [[ "${CI_COMMIT_REF_NAME}" == "${CI_DEFAULT_BRANCH}" ]]; then
tags="${tags} :latest"
fi
if [[ -n "${CI_COMMIT_TAG}" ]]; then
tags="${tags} :${CI_COMMIT_TAG}"
fi
echo "Running on branch '${CI_COMMIT_BRANCH}': tags = [${tags}]"
# build and push image with all defined tags
- |
for tag in ${tags}; do
docker build -t ${CI_REGISTRY_IMAGE}${tag} --file=build/image/Dockerfile .
docker push ${CI_REGISTRY_IMAGE}${tag}
done
# build and push profiling image with all defined tags
- |
for tag in ${tags}; do
docker build -t ${CI_REGISTRY_IMAGE}${tag}-profiling --file=build/image/Dockerfile.profiling .
docker push ${CI_REGISTRY_IMAGE}${tag}-profiling
done