docker-build: image: docker:latest stage: build services: - docker:dind before_script: - docker login -u $HARBOR_USERNAME -p $HARBOR_PASSWORD harbor.cloud.infn.it # Default branch leaves tag empty (= latest tag) # All other branches are tagged with the escaped branch name (commit ref slug) variables: DOCKERFILES_DIR: 'utils' REGISTRY_IMAGE: harbor.cloud.infn.it/cicd/jenkins-paas-slave script: - | if [[ "$CI_COMMIT_BRANCH" == "$CI_DEFAULT_BRANCH" ]]; then tag="" echo "Running on default branch '$CI_DEFAULT_BRANCH': tag = 'latest'" else tag=":$CI_COMMIT_REF_SLUG" echo "Running on branch '$CI_COMMIT_BRANCH': tag = $tag" fi - docker build --pull -t "$REGISTRY_IMAGE${tag}" $DOCKERFILES_DIR - docker push "$REGISTRY_IMAGE${tag}" # Run this job in a branch where a Dockerfile exists rules: - if: $CI_COMMIT_BRANCH changes: - $DOCKERFILES_DIR/Dockerfile