docker-latest-build: image: docker:latest stage: build variables: EXCLUDE_DB: "false" BASE_IMAGE: "node:18-buster-slim" services: - docker:dind before_script: - docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY script: - | BRANCH_PREFIX="$(if [ $CI_COMMIT_BRANCH != $CI_DEFAULT_BRANCH ]; then echo ${CI_COMMIT_REF_SLUG} ; else echo 'latest'; fi)" NO_DB_SUFIX="$(${EXCLUDE_DB} && echo '-no-db' || echo '')" BASE_IMAGE_ARCH="$(echo ${BASE_IMAGE} | cut -d'/' -f1)" BASE_IMAGE_TYPE="$(echo ${BASE_IMAGE} | cut -d'/' -f2)" ARCH_TYPE="$(if [ $BASE_IMAGE_ARCH != $BASE_IMAGE_TYPE ]; then echo '-'${BASE_IMAGE_ARCH}; else echo ''; fi )" export IMAGE_NAME="$CI_REGISTRY_IMAGE:${BRANCH_PREFIX}${ARCH_TYPE}${NO_DB_SUFIX}" echo "Running on branch '${CI_COMMIT_BRANCH}', Image: ${IMAGE_NAME}" ; - docker build --pull --build-arg EXCLUDE_DB="${EXCLUDE_DB}" --build-arg BASE_IMAGE="${BASE_IMAGE}" -t "${IMAGE_NAME}" . -f "Dockerfile" - docker push "${IMAGE_NAME}" rules: - if: $CI_COMMIT_BRANCH != "master" && $CI_COMMIT_BRANCH != "main" && $CI_COMMIT_BRANCH != "dev" when: never - if: $CI_COMMIT_BRANCH exists: - Dockerfile docker-latest-no-db-build: image: docker:latest stage: build variables: EXCLUDE_DB: "true" BASE_IMAGE: "node:18-buster-slim" services: - docker:dind before_script: - docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY script: - | BRANCH_PREFIX="$(if [ $CI_COMMIT_BRANCH != $CI_DEFAULT_BRANCH ]; then echo ${CI_COMMIT_REF_SLUG} ; else echo 'latest'; fi)" NO_DB_SUFIX="$(${EXCLUDE_DB} && echo '-no-db' || echo '')" BASE_IMAGE_ARCH="$(echo ${BASE_IMAGE} | cut -d'/' -f1)" BASE_IMAGE_TYPE="$(echo ${BASE_IMAGE} | cut -d'/' -f2)" ARCH_TYPE="$(if [ $BASE_IMAGE_ARCH != $BASE_IMAGE_TYPE ]; then echo '-'${BASE_IMAGE_ARCH}; else echo ''; fi )" export IMAGE_NAME="$CI_REGISTRY_IMAGE:${BRANCH_PREFIX}${ARCH_TYPE}${NO_DB_SUFIX}" echo "Running on branch '${CI_COMMIT_BRANCH}', Image: ${IMAGE_NAME}" ; - docker build --pull --build-arg EXCLUDE_DB="${EXCLUDE_DB}" --build-arg BASE_IMAGE="${BASE_IMAGE}" -t "${IMAGE_NAME}" . -f "Dockerfile" - docker push "${IMAGE_NAME}" rules: - if: $CI_COMMIT_BRANCH != "master" && $CI_COMMIT_BRANCH != "main" && $CI_COMMIT_BRANCH != "dev" when: never - if: $CI_COMMIT_BRANCH exists: - Dockerfile docker-arm32v7-build: image: docker:latest stage: build variables: EXCLUDE_DB: "false" BASE_IMAGE: "arm32v7/node:18-buster-slim" services: - docker:dind before_script: - docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY script: - | BRANCH_PREFIX="$(if [ $CI_COMMIT_BRANCH != $CI_DEFAULT_BRANCH ]; then echo ${CI_COMMIT_REF_SLUG} ; else echo 'latest'; fi)" NO_DB_SUFIX="$(${EXCLUDE_DB} && echo '-no-db' || echo '')" BASE_IMAGE_ARCH="$(echo ${BASE_IMAGE} | cut -d'/' -f1)" BASE_IMAGE_TYPE="$(echo ${BASE_IMAGE} | cut -d'/' -f2)" ARCH_TYPE="$(if [ $BASE_IMAGE_ARCH != $BASE_IMAGE_TYPE ]; then echo '-'${BASE_IMAGE_ARCH}; else echo ''; fi )" export IMAGE_NAME="$CI_REGISTRY_IMAGE:${BRANCH_PREFIX}${ARCH_TYPE}${NO_DB_SUFIX}" echo "Running on branch '${CI_COMMIT_BRANCH}', Image: ${IMAGE_NAME}" ; - docker build --pull --build-arg EXCLUDE_DB="${EXCLUDE_DB}" --build-arg BASE_IMAGE="${BASE_IMAGE}" -t "${IMAGE_NAME}" . -f "Dockerfile" - docker push "${IMAGE_NAME}" rules: - if: $CI_COMMIT_BRANCH != "master" && $CI_COMMIT_BRANCH != "main" && $CI_COMMIT_BRANCH != "dev" when: never - if: $CI_COMMIT_BRANCH exists: - Dockerfile docker-arm32v7-no-db-build: image: docker:latest stage: build variables: EXCLUDE_DB: "true" BASE_IMAGE: "arm32v7/node:18-buster-slim" services: - docker:dind before_script: - docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY script: - | BRANCH_PREFIX="$(if [ $CI_COMMIT_BRANCH != $CI_DEFAULT_BRANCH ]; then echo ${CI_COMMIT_REF_SLUG} ; else echo 'latest'; fi)" NO_DB_SUFIX="$(${EXCLUDE_DB} && echo '-no-db' || echo '')" BASE_IMAGE_ARCH="$(echo ${BASE_IMAGE} | cut -d'/' -f1)" BASE_IMAGE_TYPE="$(echo ${BASE_IMAGE} | cut -d'/' -f2)" ARCH_TYPE="$(if [ $BASE_IMAGE_ARCH != $BASE_IMAGE_TYPE ]; then echo '-'${BASE_IMAGE_ARCH}; else echo ''; fi )" export IMAGE_NAME="$CI_REGISTRY_IMAGE:${BRANCH_PREFIX}${ARCH_TYPE}${NO_DB_SUFIX}" echo "Running on branch '${CI_COMMIT_BRANCH}', Image: ${IMAGE_NAME}" ; - docker build --pull --build-arg EXCLUDE_DB="${EXCLUDE_DB}" --build-arg BASE_IMAGE="${BASE_IMAGE}" -t "${IMAGE_NAME}" . -f "Dockerfile" - docker push "${IMAGE_NAME}" rules: - if: $CI_COMMIT_BRANCH != "master" && $CI_COMMIT_BRANCH != "main" && $CI_COMMIT_BRANCH != "dev" when: never - if: $CI_COMMIT_BRANCH exists: - Dockerfile docker-arm64v8-build: image: docker:latest stage: build variables: EXCLUDE_DB: "false" BASE_IMAGE: "arm64v8/node:18-bullseye-slim" services: - docker:dind before_script: - docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY script: - | BRANCH_PREFIX="$(if [ $CI_COMMIT_BRANCH != $CI_DEFAULT_BRANCH ]; then echo ${CI_COMMIT_REF_SLUG} ; else echo 'latest'; fi)" NO_DB_SUFIX="$(${EXCLUDE_DB} && echo '-no-db' || echo '')" BASE_IMAGE_ARCH="$(echo ${BASE_IMAGE} | cut -d'/' -f1)" BASE_IMAGE_TYPE="$(echo ${BASE_IMAGE} | cut -d'/' -f2)" ARCH_TYPE="$(if [ $BASE_IMAGE_ARCH != $BASE_IMAGE_TYPE ]; then echo '-'${BASE_IMAGE_ARCH}; else echo ''; fi )" export IMAGE_NAME="$CI_REGISTRY_IMAGE:${BRANCH_PREFIX}${ARCH_TYPE}${NO_DB_SUFIX}" echo "Running on branch '${CI_COMMIT_BRANCH}', Image: ${IMAGE_NAME}" ; - docker build --pull --build-arg EXCLUDE_DB="${EXCLUDE_DB}" --build-arg BASE_IMAGE="${BASE_IMAGE}" -t "${IMAGE_NAME}" . -f "Dockerfile" - docker push "${IMAGE_NAME}" rules: - if: $CI_COMMIT_BRANCH != "master" && $CI_COMMIT_BRANCH != "main" && $CI_COMMIT_BRANCH != "dev" when: never - if: $CI_COMMIT_BRANCH exists: - Dockerfile docker-arm64v8-no-db-build: image: docker:latest stage: build variables: EXCLUDE_DB: "true" BASE_IMAGE: "arm64v8/node:18-bullseye-slim" services: - docker:dind before_script: - docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY script: - | BRANCH_PREFIX="$(if [ $CI_COMMIT_BRANCH != $CI_DEFAULT_BRANCH ]; then echo ${CI_COMMIT_REF_SLUG} ; else echo 'latest'; fi)" NO_DB_SUFIX="$(${EXCLUDE_DB} && echo '-no-db' || echo '')" BASE_IMAGE_ARCH="$(echo ${BASE_IMAGE} | cut -d'/' -f1)" BASE_IMAGE_TYPE="$(echo ${BASE_IMAGE} | cut -d'/' -f2)" ARCH_TYPE="$(if [ $BASE_IMAGE_ARCH != $BASE_IMAGE_TYPE ]; then echo '-'${BASE_IMAGE_ARCH}; else echo ''; fi )" export IMAGE_NAME="$CI_REGISTRY_IMAGE:${BRANCH_PREFIX}${ARCH_TYPE}${NO_DB_SUFIX}" echo "Running on branch '${CI_COMMIT_BRANCH}', Image: ${IMAGE_NAME}" ; - docker build --pull --build-arg EXCLUDE_DB="${EXCLUDE_DB}" --build-arg BASE_IMAGE="${BASE_IMAGE}" -t "${IMAGE_NAME}" . -f "Dockerfile" - docker push "${IMAGE_NAME}" rules: - if: $CI_COMMIT_BRANCH != "master" && $CI_COMMIT_BRANCH != "main" && $CI_COMMIT_BRANCH != "dev" when: never - if: $CI_COMMIT_BRANCH exists: - Dockerfile docker-nvidia-build: image: docker:latest stage: build variables: EXCLUDE_DB: "false" BASE_IMAGE: "nvidia/cuda:11.7.1-cudnn8-runtime-ubuntu22.04" services: - docker:dind before_script: - docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY script: - | BRANCH_PREFIX="$(if [ $CI_COMMIT_BRANCH != $CI_DEFAULT_BRANCH ]; then echo ${CI_COMMIT_REF_SLUG} ; else echo 'latest'; fi)" NO_DB_SUFIX="$(${EXCLUDE_DB} && echo '-no-db' || echo '')" BASE_IMAGE_ARCH="$(echo ${BASE_IMAGE} | cut -d'/' -f1)" BASE_IMAGE_TYPE="$(echo ${BASE_IMAGE} | cut -d'/' -f2)" ARCH_TYPE="$(if [ $BASE_IMAGE_ARCH != $BASE_IMAGE_TYPE ]; then echo '-'${BASE_IMAGE_ARCH}; else echo ''; fi )" export IMAGE_NAME="$CI_REGISTRY_IMAGE:${BRANCH_PREFIX}${ARCH_TYPE}${NO_DB_SUFIX}" echo "Running on branch '${CI_COMMIT_BRANCH}', Image: ${IMAGE_NAME}" ; - docker build --pull --build-arg EXCLUDE_DB="${EXCLUDE_DB}" --build-arg BASE_IMAGE="${BASE_IMAGE}" -t "${IMAGE_NAME}" . -f "Dockerfile" - docker push "${IMAGE_NAME}" rules: - if: $CI_COMMIT_BRANCH != "master" && $CI_COMMIT_BRANCH != "main" && $CI_COMMIT_BRANCH != "dev" when: never - if: $CI_COMMIT_BRANCH exists: - Dockerfile docker-nvidia-no-db-build: image: docker:latest stage: build variables: EXCLUDE_DB: "true" BASE_IMAGE: "nvidia/cuda:11.7.1-cudnn8-runtime-ubuntu22.04" services: - docker:dind before_script: - docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY script: - | BRANCH_PREFIX="$(if [ $CI_COMMIT_BRANCH != $CI_DEFAULT_BRANCH ]; then echo ${CI_COMMIT_REF_SLUG} ; else echo 'latest'; fi)" NO_DB_SUFIX="$(${EXCLUDE_DB} && echo '-no-db' || echo '')" BASE_IMAGE_ARCH="$(echo ${BASE_IMAGE} | cut -d'/' -f1)" BASE_IMAGE_TYPE="$(echo ${BASE_IMAGE} | cut -d'/' -f2)" ARCH_TYPE="$(if [ $BASE_IMAGE_ARCH != $BASE_IMAGE_TYPE ]; then echo '-'${BASE_IMAGE_ARCH}; else echo ''; fi )" export IMAGE_NAME="$CI_REGISTRY_IMAGE:${BRANCH_PREFIX}${ARCH_TYPE}${NO_DB_SUFIX}" echo "Running on branch '${CI_COMMIT_BRANCH}', Image: ${IMAGE_NAME}" ; - docker build --pull --build-arg EXCLUDE_DB="${EXCLUDE_DB}" --build-arg BASE_IMAGE="${BASE_IMAGE}" -t "${IMAGE_NAME}" . -f "Dockerfile" - docker push "${IMAGE_NAME}" rules: - if: $CI_COMMIT_BRANCH != "master" && $CI_COMMIT_BRANCH != "main" && $CI_COMMIT_BRANCH != "dev" when: never - if: $CI_COMMIT_BRANCH exists: - Dockerfile