Skip to content
Snippets Groups Projects
Commit 79348d6b authored by Klaas Kliffen's avatar Klaas Kliffen :satellite:
Browse files

Merge branch 'hotfix/ci-cd-remove-duplicate-docker-build' into 'main'

Remove duplicate docker build

See merge request !45
parents 482b6e37 709485be
No related branches found
No related tags found
1 merge request!45Remove duplicate docker build
Pipeline #41452 passed
......@@ -12,10 +12,10 @@ workflow:
when: never
- if: $CI_COMMIT_REF_NAME == $CI_DEFAULT_BRANCH
variables:
DOCKER_IMAGE_TAG: ":latest"
DOCKER_IMAGE_TAG: "latest"
- if: $CI_COMMIT_REF_NAME != $CI_DEFAULT_BRANCH
variables:
DOCKER_IMAGE_TAG: ":$CI_COMMIT_REF_SLUG"
DOCKER_IMAGE_TAG: "$CI_COMMIT_REF_SLUG"
test-code:
image: python:3.10
......@@ -32,34 +32,7 @@ test-code:
- python manage.py migrate --settings ldvspec.settings.ci
- python manage.py test --settings ldvspec.settings.ci
docker-test-build:
variables:
if: main
# Official docker image.
image: docker:20-cli
before_script:
- docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY
stage: build
services:
- docker:dind
script:
- HASH=$(sha256sum ldvspec/Dockerfile.base | awk '{ print $1 }')
- >
if docker manifest inspect $CI_REGISTRY_IMAGE/base:$HASH > /dev/null; then
echo "Base image exists"
else
docker build -t "$CI_REGISTRY_IMAGE/base:$HASH" -f ldvspec/Dockerfile.base ldvspec
docker push "$CI_REGISTRY_IMAGE/base:$HASH"
fi
- echo "Build using $CI_REGISTRY_IMAGE/base:$HASH"
# Try pulling the existing image
- docker pull $CI_REGISTRY_IMAGE$DOCKER_IMAGE_TAG || true
- docker build --build-arg BASE_IMAGE="$CI_REGISTRY_IMAGE/base:$HASH" --cache-from $CI_REGISTRY_IMAGE$DOCKER_IMAGE_TAG -t "$CI_REGISTRY_IMAGE$DOCKER_IMAGE_TAG" ldvspec
- docker push $CI_REGISTRY_IMAGE$DOCKER_IMAGE_TAG
docker-build-master:
# Official docker image.
docker-build:
image: docker:20-cli
stage: build
services:
......@@ -76,11 +49,10 @@ docker-build-master:
docker push "$CI_REGISTRY_IMAGE/base:$HASH"
fi
- echo "Build using $CI_REGISTRY_IMAGE/base:$HASH"
- docker build --cache-from $CI_REGISTRY_IMAGE --build-arg BASE_IMAGE="$CI_REGISTRY_IMAGE/base:$HASH" --pull -t "$CI_REGISTRY_IMAGE" ldvspec
- docker push "$CI_REGISTRY_IMAGE"
only:
- main
# Try pulling the existing image for layer reuse; || true to ignore if it does not exist
- docker pull $CI_REGISTRY_IMAGE:$DOCKER_IMAGE_TAG || true
- docker build --cache-from $CI_REGISTRY_IMAGE:$DOCKER_IMAGE_TAG --build-arg BASE_IMAGE="$CI_REGISTRY_IMAGE/base:$HASH" --pull -t "$CI_REGISTRY_IMAGE:$DOCKER_IMAGE_TAG" ldvspec
- docker push "$CI_REGISTRY_IMAGE:$DOCKER_IMAGE_TAG"
integration-test:
image: docker:20-cli
......@@ -99,9 +71,6 @@ integration-test:
rules:
- when: never
# deploy test/dev version on 'sdc-dev.astron.nl'
docker-deploy-main-test:
stage: deploy_to_test
......@@ -139,8 +108,8 @@ docker-deploy-main-test:
## deploy the docker-compose file and use it to spin up the containers
- scp -O -o StrictHostKeyChecking=no ldvspec/docker/docker-compose-dev-cd.yml sdc@dop814.astron.nl:/docker_compose/ldvspec/docker-compose-dev-cd.yml
- ssh -o StrictHostKeyChecking=no sdc@dop814.astron.nl "echo $CI_REGISTRY_PASSWORD | docker login -u $CI_REGISTRY_USER --password-stdin $CI_REGISTRY"
- ssh -o StrictHostKeyChecking=no sdc@dop814.astron.nl "docker pull "$CI_REGISTRY_IMAGE""
- ssh -o StrictHostKeyChecking=no sdc@dop814.astron.nl "docker-compose -p ldvspec -f /docker_compose/ldvspec/docker-compose-dev-cd.yml up -d"
- ssh -o StrictHostKeyChecking=no sdc@dop814.astron.nl "docker pull "$CI_REGISTRY_IMAGE:$DOCKER_IMAGE_TAG""
- ssh -o StrictHostKeyChecking=no sdc@dop814.astron.nl "docker-compose -p ldvspec -f /docker_compose/ldvspec/docker-compose-dev-cd.yml up -d --force-recreate"
- echo "Application deployed"
when: manual
only:
......@@ -183,8 +152,8 @@ docker-deploy-main-production:
## deploy the docker-compose file and use it to spin up the containers
- scp -O -o StrictHostKeyChecking=no ldvspec/docker/docker-compose-production-cd.yml sdco@dop821.astron.nl:/opt/dockercompose/ldvspec/docker-compose-production-cd.yml
- ssh -o StrictHostKeyChecking=no sdco@dop821.astron.nl "echo $CI_REGISTRY_PASSWORD | docker login -u $CI_REGISTRY_USER --password-stdin $CI_REGISTRY"
- ssh -o StrictHostKeyChecking=no sdco@dop821.astron.nl "docker pull "$CI_REGISTRY_IMAGE""
- ssh -o StrictHostKeyChecking=no sdco@dop821.astron.nl "docker-compose -p ldvspec -f /opt/dockercompose/ldvspec/docker-compose-production-cd.yml up -d"
- ssh -o StrictHostKeyChecking=no sdco@dop821.astron.nl "docker pull "$CI_REGISTRY_IMAGE:$DOCKER_IMAGE_TAG""
- ssh -o StrictHostKeyChecking=no sdco@dop821.astron.nl "docker-compose -p ldvspec -f /opt/dockercompose/ldvspec/docker-compose-production-cd.yml up -d --force-recreate"
- echo "Application deployed"
when: manual
only:
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment