69 lines
2.1 KiB
YAML
69 lines
2.1 KiB
YAML
stages:
|
|
- dind-build
|
|
|
|
.base:
|
|
# See https://gitlab.com/gitlab-org/cluster-integration/cluster-applications/
|
|
variables:
|
|
DOCKER_AUTH_CONFIG: ${HOME_NEXUS_DOCKER_AUTH_CONFIG}
|
|
image: "$HOME_NEXUS_DOCKER_REGISTRY_SHARED/podman/stable:latest"
|
|
timeout: 3h 30m
|
|
parallel:
|
|
matrix:
|
|
- REGISTRY_USER: $CI_REGISTRY_USER
|
|
REGISTRY_PASSWORD: $CI_REGISTRY_PASSWORD
|
|
REGISTRY: $CI_REGISTRY
|
|
REGISTRY_IMAGE: $CI_REGISTRY_IMAGE
|
|
- REGISTRY_USER: $HOME_NEXUS_DOCKER_USER
|
|
REGISTRY_PASSWORD: $HOME_NEXUS_DOCKER_PASSWORD
|
|
REGISTRY: $HOME_NEXUS_DOCKER_REGISTRY
|
|
REGISTRY_IMAGE: $HOME_NEXUS_DOCKER_REGISTRY/$CI_PROJECT_PATH
|
|
|
|
.shared_resources:
|
|
script: &build_push
|
|
- docker login -u "$REGISTRY_USER" -p "$REGISTRY_PASSWORD" $REGISTRY
|
|
- export REGISTRY_IMAGE_LOWER=$(echo "$REGISTRY_IMAGE" | tr '[:upper:]' '[:lower:]')
|
|
- docker build --pull -t "$REGISTRY_IMAGE_LOWER:$IMAGE_TAG" --build-arg ARTIFACTORY=$HOME_NEXUS_DOCKER_REGISTRY_SHARED .
|
|
- docker push "$REGISTRY_IMAGE_LOWER:$IMAGE_TAG"
|
|
before_script: &before_auth
|
|
- dnf install -y podman-docker
|
|
- docker login -u "$HOME_NEXUS_DOCKER_USER" -p "$HOME_NEXUS_DOCKER_PASSWORD" $HOME_NEXUS_DOCKER_REGISTRY_SHARED
|
|
|
|
build:prereleases:
|
|
stage: dind-build
|
|
extends: .base
|
|
tags:
|
|
- build
|
|
- medium
|
|
before_script:
|
|
- *before_auth
|
|
script:
|
|
- export IMAGE_TAG=$(echo -en $CI_COMMIT_REF_NAME | sed 's|/|-|g')
|
|
- *build_push
|
|
only:
|
|
refs:
|
|
- branches
|
|
variables:
|
|
- '($CI_PROJECT_URL =~ /gitlab\.jamesjonesconsulting\.com/) && ($REGISTRY != "$HOME_NEXUS_DOCKER_REGISTRY")'
|
|
except:
|
|
refs:
|
|
- main
|
|
build:releases:
|
|
extends: .base
|
|
stage: dind-build
|
|
tags:
|
|
- build
|
|
- medium
|
|
before_script:
|
|
- *before_auth
|
|
script:
|
|
- export IMAGE_TAG=$CI_COMMIT_TAG
|
|
- *build_push
|
|
- docker tag "$REGISTRY_IMAGE_LOWER:$IMAGE_TAG" "$REGISTRY_IMAGE_LOWER:latest"
|
|
- docker push "$REGISTRY_IMAGE_LOWER:latest"
|
|
only:
|
|
refs:
|
|
- tags
|
|
variables:
|
|
- '($CI_PROJECT_URL =~ /gitlab\.jamesjonesconsulting\.com/) && ($REGISTRY != "$HOME_NEXUS_DOCKER_REGISTRY")'
|
|
|