Merge branch 'enh/build-parallel-matrix' into 'main'
use matrix for build See merge request ni-dataops/containers!3
This commit is contained in:
commit
0f1a3b7ebb
|
|
@ -27,60 +27,35 @@ stages:
|
|||
|
||||
.build_tpl:
|
||||
stage: build
|
||||
variables:
|
||||
IMAGE: ${CI_REGISTRY_IMAGE}/${IMAGE_NAME}
|
||||
rules:
|
||||
- if: $CI_PIPELINE_SOURCE == "merge_request_event" || ($CI_PIPELINE_SOURCE == "push" && $CI_COMMIT_BRANCH==$CI_DEFAULT_BRANCH)
|
||||
changes:
|
||||
- docker/${IMAGE_NAME}/**/*
|
||||
- .gitlab-ci.yml
|
||||
script:
|
||||
- export IMAGE_TAG=$IMAGE:$CI_COMMIT_REF_SLUG
|
||||
# main is latest, MR create tag from branch name
|
||||
- export IMAGE_TAG=$IMAGE:${CI_COMMIT_REF_SLUG/main/latest}
|
||||
- echo $CI_REGISTRY_USER $CI_REGISTRY $IMAGE_TAG
|
||||
- docker login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD $CI_REGISTRY
|
||||
- docker pull $IMAGE:latest || true
|
||||
- docker build --cache-from $IMAGE:latest -t $IMAGE:$CI_COMMIT_SHA -t $IMAGE:$CI_COMMIT_SHORT_SHA -t $IMAGE_TAG -t $IMAGE:latest ./docker/$IMAGE_DOCKERFILE
|
||||
- >
|
||||
docker build
|
||||
--cache-from $IMAGE:latest
|
||||
-t $IMAGE:$CI_COMMIT_SHA
|
||||
-t $IMAGE:$CI_COMMIT_SHORT_SHA
|
||||
-t $IMAGE_TAG
|
||||
./docker/$IMAGE_NAME
|
||||
- docker push --all-tags $IMAGE
|
||||
|
||||
build_docker-datalad:
|
||||
build_all_dockers:
|
||||
extends: .build_tpl
|
||||
variables:
|
||||
IMAGE: $CI_REGISTRY_IMAGE/docker-datalad
|
||||
IMAGE_DOCKERFILE: datalad-docker
|
||||
rules:
|
||||
- changes:
|
||||
- docker/datalad-docker/**/*
|
||||
- .gitlab-ci.yml
|
||||
|
||||
build_datalad-apptainer:
|
||||
extends: .build_tpl
|
||||
variables:
|
||||
IMAGE: $CI_REGISTRY_IMAGE/datalad-apptainer
|
||||
IMAGE_DOCKERFILE: datalad-apptainer
|
||||
rules:
|
||||
- changes:
|
||||
- docker/datalad-apptainer/**/*
|
||||
- .gitlab-ci.yml
|
||||
|
||||
build_heudiconv:
|
||||
extends: .build_tpl
|
||||
variables:
|
||||
IMAGE: $CI_REGISTRY_IMAGE/heudiconv
|
||||
IMAGE_DOCKERFILE: heudiconv
|
||||
rules:
|
||||
- changes:
|
||||
- docker/heudiconv/**/*
|
||||
- .gitlab-ci.yml
|
||||
|
||||
build_deface:
|
||||
extends: .build_tpl
|
||||
variables:
|
||||
IMAGE: $CI_REGISTRY_IMAGE/deface
|
||||
IMAGE_DOCKERFILE: deface
|
||||
rules:
|
||||
- changes:
|
||||
- docker/deface/**/*
|
||||
- .gitlab-ci.yml
|
||||
|
||||
build_pydeface:
|
||||
extends: .build_tpl
|
||||
variables:
|
||||
IMAGE: $CI_REGISTRY_IMAGE/pydeface
|
||||
IMAGE_DOCKERFILE: pydeface
|
||||
rules:
|
||||
- changes:
|
||||
- docker/pydeface/**/*
|
||||
- .gitlab-ci.yml
|
||||
parallel:
|
||||
matrix:
|
||||
- IMAGE_NAME:
|
||||
- datalad-docker
|
||||
- datalad-apptainer
|
||||
- heudiconv
|
||||
- deface
|
||||
- dicom_indexer
|
||||
|
|
|
|||
Loading…
Reference in New Issue