From 07789facc06928173b65f8d634d960e5f50b58b9 Mon Sep 17 00:00:00 2001 From: sfrancois Date: Fri, 29 Mar 2024 10:53:32 +0100 Subject: [PATCH 1/2] feat(docker): ajoute une image en cache pour la connexion au registry --- templates/docker-registry.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/templates/docker-registry.yml b/templates/docker-registry.yml index 3ac003b..4a93e3b 100644 --- a/templates/docker-registry.yml +++ b/templates/docker-registry.yml @@ -1,7 +1,7 @@ .docker: - image: docker:18 + image: outils-patrinat.mnhn.fr/docker:18 services: - - name: docker:18.09.5-dind + - name: outils-patrinat.mnhn.fr/docker:18-dind tags: - docker-images -- GitLab From 0a8141ea3ffefac694b94cfdb03046424173e520 Mon Sep 17 00:00:00 2001 From: sfrancois Date: Fri, 29 Mar 2024 10:53:38 +0100 Subject: [PATCH 2/2] feat(docker): ajoute un template de build avec arg --- templates/build-arg-docker.yml | 17 ++++++++++++++++ templates/build-docker.yml | 37 +++++----------------------------- templates/images-docker.yml | 31 ++++++++++++++++++++++++++++ 3 files changed, 53 insertions(+), 32 deletions(-) create mode 100644 templates/build-arg-docker.yml create mode 100644 templates/images-docker.yml diff --git a/templates/build-arg-docker.yml b/templates/build-arg-docker.yml new file mode 100644 index 0000000..7e344b4 --- /dev/null +++ b/templates/build-arg-docker.yml @@ -0,0 +1,17 @@ +include: + - project: 'patrinat-tools/ci-cd' + ref: master + file: '/templates/images-docker.yml' + +.build-docker: + extends: .nexus + script: + - > + docker build + --pull + --quiet + --build-arg $BUILD_ARG + --cache-from $PATRINAT_REGISTRY/$CI_IMAGE:$TAG_CACHE + --tag $PATRINAT_REGISTRY/$CI_IMAGE:$TAG_BUILD + . + - docker push $PATRINAT_REGISTRY/$CI_IMAGE:$TAG_BUILD diff --git a/templates/build-docker.yml b/templates/build-docker.yml index a8e7273..6893567 100644 --- a/templates/build-docker.yml +++ b/templates/build-docker.yml @@ -1,3 +1,8 @@ +include: + - project: 'patrinat-tools/ci-cd' + ref: master + file: '/templates/images-docker.yml' + .build-docker: extends: .nexus script: @@ -9,35 +14,3 @@ --tag $PATRINAT_REGISTRY/$CI_IMAGE:$TAG_BUILD . - docker push $PATRINAT_REGISTRY/$CI_IMAGE:$TAG_BUILD - -🐳 image-test: - extends: .build-docker - stage: push - rules: - - if: '$CI_COMMIT_BRANCH =~ /^(?:sprint|(?:hot)?fix(?:es)?|feature)-.+/' - variables: - TAG_BUILD: test - TAG_CACHE: test - -🐳 image-preprod: - extends: .build-docker - stage: push - rules: - - if: '$CI_COMMIT_BRANCH == "master"' - - if: $CI_COMMIT_TAG - when: never - variables: - TAG_BUILD: preprod - TAG_CACHE: preprod - -🐳 image-prod: - extends: .build-docker - stage: push - rules: - - if: $CI_COMMIT_TAG - variables: - TAG_BUILD: $CI_COMMIT_REF_NAME - TAG_CACHE: latest - after_script: - - docker tag $PATRINAT_REGISTRY/$CI_IMAGE:$CI_COMMIT_REF_NAME $PATRINAT_REGISTRY/$CI_IMAGE:latest - - docker push $PATRINAT_REGISTRY/$CI_IMAGE:latest diff --git a/templates/images-docker.yml b/templates/images-docker.yml new file mode 100644 index 0000000..b6cf7e4 --- /dev/null +++ b/templates/images-docker.yml @@ -0,0 +1,31 @@ +🐳 image-test: + extends: .build-docker + stage: push + rules: + - if: '$CI_COMMIT_BRANCH =~ /^(?:sprint|(?:hot)?fix(?:es)?|feature)-.+/' + variables: + TAG_BUILD: test + TAG_CACHE: test + +🐳 image-preprod: + extends: .build-docker + stage: push + rules: + - if: '$CI_COMMIT_BRANCH == "master"' + - if: $CI_COMMIT_TAG + when: never + variables: + TAG_BUILD: preprod + TAG_CACHE: preprod + +🐳 image-prod: + extends: .build-docker + stage: push + rules: + - if: $CI_COMMIT_TAG + variables: + TAG_BUILD: $CI_COMMIT_REF_NAME + TAG_CACHE: latest + after_script: + - docker tag $PATRINAT_REGISTRY/$CI_IMAGE:$CI_COMMIT_REF_NAME $PATRINAT_REGISTRY/$CI_IMAGE:latest + - docker push $PATRINAT_REGISTRY/$CI_IMAGE:latest -- GitLab