Newer
Older
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
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
stages:
- build image
- test image
- build chart
- deploy
# - registry_cleanup
image: docker:19.03.1
variables:
DOCKER_TLS_CERTDIR: ""
DOCKER_HOST: "tcp://localhost:2375"
# DOCKER_TLS_CERTDIR: "/certs"
# DOCKER_HOST: "tcp://localhost:2376"
DOCKER_DRIVER: overlay2
HELM_EXPERIMENTAL_OCI: "1"
services:
- docker:19.03.1-dind
include:
- project: 'cspp_geo/geosphere/geosphere-deploy'
file: '/helpers/docker_base.yaml'
- project: 'cspp_geo/geosphere/geosphere-deploy'
file: '/helpers/build_image.yaml'
build_image_tile_gen:
extends: .build_image
variables:
IMAGE_NAME: "tile-gen"
IMAGE_DIR: "tile_gen"
build_image_mapserver:
extends: .build_image
variables:
IMAGE_NAME: "geosphere-mapserver"
IMAGE_DIR: "mapserver"
build_chart:
stage: build chart
tags:
- docker
- kubernetes
before_script:
- docker login -u ${CI_REGISTRY_USER} -p ${CI_REGISTRY_PASSWORD} ${CI_REGISTRY}
- alias helm='docker run -t --rm -e HELM_EXPERIMENTAL_OCI="$HELM_EXPERIMENTAL_OCI" -v $(pwd):/apps -w /apps -v ~/.kube:/root/.kube -v ~/.helm:/root/.helm -v ~/.config/helm:/root/.config/helm -v ~/.cache/helm:/root/.cache/helm alpine/helm:3.2.3'
- helm registry login -u ${CI_REGISTRY_USER} -p ${CI_JOB_TOKEN} ${CI_REGISTRY}
script:
- image_url="${CI_REGISTRY_IMAGE}/charts/geosphere-mapserver"
- if [ -z "$CI_COMMIT_TAG" ]; then
docker_tag=$CI_COMMIT_SHORT_SHA;
else
docker_tag=$CI_COMMIT_TAG;
fi;
- chart_tag=$docker_tag
- cd chart
- |-
sed -i "s/^appVersion: .*\$/appVersion: ${docker_tag}/g" geosphere-mapserver/Chart.yaml
- helm lint geosphere-mapserver
- helm chart save geosphere-mapserver ${image_url}:${chart_tag}
- helm chart push ${image_url}:${chart_tag}
artifacts:
paths:
- chart/geosphere-mapserver
when: on_success
expire_in: 6 hours
deploy_application:
stage: deploy
trigger:
project: cspp_geo/geosphere/geosphere-deploy
strategy: depend
#registry_cleanup:
# stage: registry_cleanup
# tags:
# - docker
# script:
# - ci/registry_cleanup.sh