Files
podman-in-docker/.gitlab-ci.yml
2023-06-23 16:26:51 -04:00

64 lines
1.9 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
rules:
- if: '($CI_PROJECT_URL =~ /gitlab.jamesjonesconsulting.com/) && ($REGISTRY != "$HOME_NEXUS_DOCKER_REGISTRY")'
when: never
.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:
- big-build
before_script:
- *before_auth
script:
- export IMAGE_TAG=$(echo -en $CI_COMMIT_REF_NAME | sed 's|/|-|g')
- *build_push
only:
- branches
except:
- main
build:releases:
extends: .base
stage: dind-build
tags:
- big-build
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:
- tags