diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index c42268ecaaca159b561977baf92095ac475a473b..a8f84c210c236bc8fe3ee0876870c70cd08d9a1a 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -31,55 +31,45 @@ docker_build: tags: - docker -docker_publish_production: +docker_publish_alpha: stage: publish image: docker:latest services: - docker:dind - variables: - CI_DEBUG_TRACE: "true" script: | test "${DOCKER_AUTH_CONFIG}" == "" && echo "docker-config does not exists, aborting!" && false mkdir -p ~/.docker && echo "$DOCKER_AUTH_CONFIG" >~/.docker/config.json - export version=`expr ${CI_COMMIT_TAG} ':' 'release/\(.\+\)'` - major_version=`expr ${version} ':' '\([^.]\+\)'` - minor_version=`expr ${version} ':' '[^.]\+\.\([^.]\+\)'` - patch_version=`expr ${version} ':' '[^.]\+\.[^.]\+\.\(.\+\)'` docker load --input=image.tar.gz - docker tag image ${image_name}:${version} - docker push ${image_name}:${version} - for tag in "latest" "${major_version}" "${major_version}.${minor_version}"; do - docker tag ${image_name}:${version} ${image_name}:${tag} - docker push ${image_name}:${tag} - done + docker tag image ${image_name}:alpha-${CI_COMMIT_REF_NAME} + docker push ${image_name}:alpha-${CI_COMMIT_REF_NAME} dependencies: - docker_build tags: - docker - except: - - branches only: - - /^release\/.*/ + - /^[0-9]+-/ -docker_publish_alpha: +docker_publish_staging: stage: publish image: docker:latest services: - docker:dind + variables: + CI_DEBUG_TRACE: "true" script: | test "${DOCKER_AUTH_CONFIG}" == "" && echo "docker-config does not exists, aborting!" && false mkdir -p ~/.docker && echo "$DOCKER_AUTH_CONFIG" >~/.docker/config.json docker load --input=image.tar.gz - docker tag image ${image_name}:alpha-${CI_COMMIT_REF_NAME} - docker push ${image_name}:alpha-${CI_COMMIT_REF_NAME} + docker tag image ${image_name}:staging + docker push ${image_name}:staging dependencies: - docker_build tags: - docker only: - - /^[0-9]+-/ + - master -docker_publish_staging: +docker_publish_production: stage: publish image: docker:latest services: @@ -89,12 +79,20 @@ docker_publish_staging: script: | test "${DOCKER_AUTH_CONFIG}" == "" && echo "docker-config does not exists, aborting!" && false mkdir -p ~/.docker && echo "$DOCKER_AUTH_CONFIG" >~/.docker/config.json + version=`expr ${CI_COMMIT_TAG} ':' 'release/\(.\+\)'` + major_version=`expr ${version} ':' '\([^.]\+\)'` + minor_version=`expr ${version} ':' '[^.]\+\.\([^.]\+\)'` + patch_version=`expr ${version} ':' '[^.]\+\.[^.]\+\.\(.\+\)'` docker load --input=image.tar.gz - docker tag image ${image_name}:staging - docker push ${image_name}:staging + for tag in "latest" "${major_version}" "${major_version}.${minor_version}" "${version}"; do + docker tag image ${image_name}:${tag} + docker push ${image_name}:${tag} + done dependencies: - docker_build tags: - docker + except: + - branches only: - - master + - /^release\/.*/ \ No newline at end of file