Commit ec13f4d6 authored by Tim Leers's avatar Tim Leers Committed by Geoff Simmons

improve docker build steps

parent 56c80d8e
stages:
- build
- e2e
- test
......@@ -26,35 +27,47 @@ test:
script:
- make check
build:varnish:
stage: build
image: docker:19.03.8
rules:
- changes:
- container/Dockerfile.varnish
- when: manual
services:
- docker:19.03.8-dind
variables:
IMAGE: varnish
before_script:
- apk add -U make
- docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY
script:
- docker pull $CI_REGISTRY/timleers/k8s-ingress/varnish-ingress/varnish-ingress/$IMAGE:latest || true
- cd container
- make varnish
- docker tag varnish-ingress/$IMAGE $CI_REGISTRY/timleers/k8s-ingress/varnish-ingress/$IMAGE:$CI_COMMIT_SHA
- docker tag varnish-ingress/$IMAGE $CI_REGISTRY/timleers/k8s-ingress/varnish-ingress/$IMAGE:latest
- docker push $CI_REGISTRY/timleers/k8s-ingress/varnish-ingress/$IMAGE:$CI_COMMIT_SHA
- docker push $CI_REGISTRY/timleers/k8s-ingress/varnish-ingress/$IMAGE:latest
# build:controller:
# stage: build
# image: docker:19.03.8
# services:
# - docker:19.03.8-dind
# variables:
# DOCKER_TLS_CERTDIR: "/certs"
# CI_REGISTRY_IMAGE: varnish-controller
# script:
# - docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY
# - docker pull $CI_REGISTRY/timleers/k8s-ingress/$CI_REGISTRY_IMAGE:latest || true
# - docker build --cache-from $CI_REGISTRY/timleers/k8s-ingress/$CI_REGISTRY_IMAGE:latest --tag $CI_REGISTRY_IMAGE:$CI_COMMIT_SHA --tag $CI_REGISTRY_IMAGE:latest -f container/Dockerfile.controller .
# - docker tag $CI_REGISTRY_IMAGE:latest $CI_REGISTRY/timleers/k8s-ingress/$CI_REGISTRY_IMAGE:$CI_COMMIT_SHA
# - docker tag $CI_REGISTRY_IMAGE:latest $CI_REGISTRY/timleers/k8s-ingress/$CI_REGISTRY_IMAGE:latest
# - docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY
# - docker push $CI_REGISTRY/timleers/k8s-ingress/$CI_REGISTRY_IMAGE:$CI_COMMIT_SHA
# - docker push $CI_REGISTRY/timleers/k8s-ingress/$CI_REGISTRY_IMAGE:latest
# integration:
# stage: e2e
# image: tiltdev/tilt
# services:
# - docker:19.03.8-dind
# variables:
# DOCKER_HOST: "tcp://docker:2375"
# script:
# - apt install make
# - test/e2e.gitlab.sh
build:controller:
stage: build
image: docker:19.03.8
services:
- docker:19.03.8-dind
variables:
IMAGE: controller
before_script:
- apk add -U make
- docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY
script:
- docker pull $CI_REGISTRY/timleers/k8s-ingress/varnish-ingress/varnish-ingress/$IMAGE:latest || true
- cd container
- make controller
- docker tag varnish-ingress/controller $CI_REGISTRY/timleers/k8s-ingress/varnish-ingress/$IMAGE:$CI_COMMIT_SHA
- docker tag varnish-ingress/controller $CI_REGISTRY/timleers/k8s-ingress/varnish-ingress/$IMAGE:latest
- docker push $CI_REGISTRY/timleers/k8s-ingress/varnish-ingress/$IMAGE:$CI_COMMIT_SHA
- docker push $CI_REGISTRY/timleers/k8s-ingress/varnish-ingress/$IMAGE:latest
integration:
stage: e2e
......@@ -79,9 +92,11 @@ integration:
- kubectl get pods --all-namespaces -o wide
- kubectl get services --all-namespaces -o wide
script:
- test/e2e.gitlab.sh
- docker tag varnish-ingress/controller $CI_REGISTRY/timleers/k8s-ingress/varnish-ingress/controller:$CI_COMMIT_SHA
- docker tag varnish-ingress/varnish $CI_REGISTRY/timleers/k8s-ingress/varnish-ingress/varnish:$CI_COMMIT_SHA
- docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY
- docker push $CI_REGISTRY/timleers/k8s-ingress/varnish-ingress/controller:$CI_COMMIT_SHA
- docker push $CI_REGISTRY/timleers/k8s-ingress/varnish-ingress/varnish:$CI_COMMIT_SHA
- docker pull $CI_REGISTRY/timleers/k8s-ingress/varnish-ingress/controller:$CI_COMMIT_SHA
# using varnish image with latest tag due to performance. if we are changing this image a lot, we need to improve this as can lead to pulling the incorrect image
- docker pull $CI_REGISTRY/timleers/k8s-ingress/varnish-ingress/varnish:latest
- docker tag $CI_REGISTRY/timleers/k8s-ingress/varnish-ingress/controller:$CI_COMMIT_SHA varnish-ingress/controller
- docker tag $CI_REGISTRY/timleers/k8s-ingress/varnish-ingress/varnish:latest varnish-ingress/ingress
- test/e2e.sh
......@@ -6,9 +6,6 @@ set -ex
cd $(dirname $0)
cd ../container
make all
kind load docker-image varnish-ingress/varnish
kind load docker-image varnish-ingress/controller
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment