From 1f3fbd3b522ccaadfafeb7c2e1eded101d940409 Mon Sep 17 00:00:00 2001
From: lcottret <ludovic.cottret@inrae.fr>
Date: Mon, 25 Apr 2022 11:30:17 +0200
Subject: [PATCH 01/13] Files to build docker image

---
 Dockerfile            | 28 +++++++++++++++++++++++++
 docker_files/met4j.sh | 49 +++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 77 insertions(+)
 create mode 100644 Dockerfile
 create mode 100644 docker_files/met4j.sh

diff --git a/Dockerfile b/Dockerfile
new file mode 100644
index 000000000..50f8cf1aa
--- /dev/null
+++ b/Dockerfile
@@ -0,0 +1,28 @@
+FROM debian:stable-slim
+
+RUN export DEBIAN_FRONTEND=noninteractive
+
+RUN apt-get update \
+&& apt-get upgrade -y \
+&& apt-get install -y openjdk-11-jre git maven \
+&& apt-get clean \
+&& apt-get purge
+
+RUN mkdir -p /opt && cd /opt \
+&& git clone https://forgemia.inra.fr/metexplore/met4j.git \
+&& cd met4j \
+&& mvn install \
+&& cd met4j-toolbox \
+&& mvn package
+
+RUN mkdir -p /opt/bin \
+&& cd /opt/met4j/met4j-toolbox \
+&& cp target/met4j*.jar /opt/bin/met4j.jar \
+&& cd /opt \
+&& rm -rf met4j ~/.m2  \
+&& apt-get remove -y git && apt-get autoremove -y
+
+COPY ./docker_files/met4j.sh /opt/bin
+
+ENTRYPOINT ["/opt/bin/met4j.sh"]
+
diff --git a/docker_files/met4j.sh b/docker_files/met4j.sh
new file mode 100644
index 000000000..23a5411e0
--- /dev/null
+++ b/docker_files/met4j.sh
@@ -0,0 +1,49 @@
+#!bin/bash
+#
+# Copyright INRAE (2022)
+#
+# contact-metexplore@inrae.fr
+#
+# This software is a computer program whose purpose is to [describe
+# functionalities and technical features of your software].
+#
+# This software is governed by the CeCILL license under French law and
+# abiding by the rules of distribution of free software.  You can  use,
+# modify and/ or redistribute the software under the terms of the CeCILL
+# license as circulated by CEA, CNRS and INRIA at the following URL
+# "https://cecill.info/licences/Licence_CeCILL_V2.1-en.html".
+#
+# As a counterpart to the access to the source code and  rights to copy,
+# modify and redistribute granted by the license, users are provided only
+# with a limited warranty  and the software's author,  the holder of the
+# economic rights,  and the successive licensors  have only  limited
+# liability.
+#
+# In this respect, the user's attention is drawn to the risks associated
+# with loading,  using,  modifying and/or developing or reproducing the
+# software by the user in light of its specific status of free software,
+# that may mean  that it is complicated to manipulate,  and  that  also
+# therefore means  that it is reserved for developers  and  experienced
+# professionals having in-depth computer knowledge. Users are therefore
+# encouraged to load and test the software's suitability as regards their
+# requirements in conditions enabling the security of their systems and/or
+# data to be ensured and,  more generally, to use and operate it in the
+# same conditions as regards security.
+#
+# The fact that you are presently reading this means that you have had
+# knowledge of the CeCILL license and that you accept its terms.
+#
+#
+
+
+path_jar=/opt/bin/met4j.jar
+# path_jar=../met4j-toolbox/target/met4j-toolbox-0.9.1-SNAPSHOT.jar
+
+if [ $# -lt 1 ]
+    then
+        echo "display Help"
+        exec java -jar $path_jar
+    else
+        echo "Lauch met4j-toolbox"
+	      exec java -Dlog4j.configuration= -cp $path_jar fr.inrae.toulouse.metexplore.met4j_toolbox."$@"
+fi
\ No newline at end of file
-- 
GitLab


From 14b19a81b93bfa4dd48d58ef2705d2020b1f64f1 Mon Sep 17 00:00:00 2001
From: lcottret <ludovic.cottret@inrae.fr>
Date: Mon, 25 Apr 2022 12:41:18 +0200
Subject: [PATCH 02/13] integrates docker deploy to dockerhub

---
 .gitlab-ci.yml | 21 +++++++++++++++++++++
 1 file changed, 21 insertions(+)

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 6190d1850..65c1a2b2d 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -5,6 +5,15 @@ stages:
   - test
   - deploy
   - singularity
+  - docker
+
+.template_docker:
+  stage: docker
+  image: docker:latest
+  services:
+    - docker:dind
+  before_script:
+    - docker login -u "$DOCKERHUB_USER" -p "$DOCKERHUB_PASSWORD" $DOCKERHUB_REGISTRY
 
 variables:
   MAVEN_CLI_OPTS: "-s .m2/settings.xml --batch-mode"
@@ -68,3 +77,15 @@ buildSingularity:
     - singularity push --docker-username "${CI_REGISTRY_USER}" --docker-password "${CI_REGISTRY_PASSWORD}" met4j-toolbox.sif oras://"$CI_REGISTRY_IMAGE"/met4j-singularity:"$CI_COMMIT_TAG"
   when: manual
 
+buildDockerProd:
+  extends: .template_docker
+  script:
+    - docker build --pull -t "$DOCKERHUB_IMAGE:latest" .
+    - docker push "$DOCKERHUB_IMAGE:latest"
+  rules:
+    - if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH
+      when: always
+    - if: $CI_COMMIT_BRANCH != $CI_DEFAULT_BRANCH
+      when: manual
+
+
-- 
GitLab


From d35715c1380c0f60984c1e785e08ae5c56940779 Mon Sep 17 00:00:00 2001
From: lcottret <ludovic.cottret@inrae.fr>
Date: Mon, 25 Apr 2022 12:49:11 +0200
Subject: [PATCH 03/13] same rules for singularity than for docker

---
 .gitlab-ci.yml | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 65c1a2b2d..cfa91be43 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -75,7 +75,11 @@ buildSingularity:
   script:
     - singularity build met4j-toolbox.sif met4j.singularity
     - singularity push --docker-username "${CI_REGISTRY_USER}" --docker-password "${CI_REGISTRY_PASSWORD}" met4j-toolbox.sif oras://"$CI_REGISTRY_IMAGE"/met4j-singularity:"$CI_COMMIT_TAG"
-  when: manual
+  rules:
+    - if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH
+      when: always
+    - if: $CI_COMMIT_BRANCH != $CI_DEFAULT_BRANCH
+      when: manual
 
 buildDockerProd:
   extends: .template_docker
-- 
GitLab


From 6fead03be55def1da121fe179d5203ad85543a8f Mon Sep 17 00:00:00 2001
From: lcottret <ludovic.cottret@inrae.fr>
Date: Mon, 25 Apr 2022 12:53:43 +0200
Subject: [PATCH 04/13] job to publih docker in gitlab registry

---
 .gitlab-ci.yml | 19 ++++++++++++++++---
 1 file changed, 16 insertions(+), 3 deletions(-)

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index cfa91be43..9e2c6fae9 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -12,8 +12,6 @@ stages:
   image: docker:latest
   services:
     - docker:dind
-  before_script:
-    - docker login -u "$DOCKERHUB_USER" -p "$DOCKERHUB_PASSWORD" $DOCKERHUB_REGISTRY
 
 variables:
   MAVEN_CLI_OPTS: "-s .m2/settings.xml --batch-mode"
@@ -81,8 +79,23 @@ buildSingularity:
     - if: $CI_COMMIT_BRANCH != $CI_DEFAULT_BRANCH
       when: manual
 
-buildDockerProd:
+buildDockerProdDockerhub:
   extends: .template_docker
+  before_script:
+    - docker login -u "$DOCKERHUB_USER" -p "$DOCKERHUB_PASSWORD" $DOCKERHUB_REGISTRY
+  script:
+    - docker build --pull -t "$DOCKERHUB_IMAGE:latest" .
+    - docker push "$DOCKERHUB_IMAGE:latest"
+  rules:
+    - if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH
+      when: always
+    - if: $CI_COMMIT_BRANCH != $CI_DEFAULT_BRANCH
+      when: manual
+
+buildDockerProdGitlab:
+  extends: .template_docker
+  before_script:
+    - docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY
   script:
     - docker build --pull -t "$DOCKERHUB_IMAGE:latest" .
     - docker push "$DOCKERHUB_IMAGE:latest"
-- 
GitLab


From 3d5db7dbbb488202942ba458991a7203978e21a6 Mon Sep 17 00:00:00 2001
From: lcottret <ludovic.cottret@inrae.fr>
Date: Mon, 25 Apr 2022 13:00:40 +0200
Subject: [PATCH 05/13] split docker stage in two stages

---
 .gitlab-ci.yml | 16 ++++++++++------
 1 file changed, 10 insertions(+), 6 deletions(-)

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 9e2c6fae9..f764eb45c 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -5,10 +5,10 @@ stages:
   - test
   - deploy
   - singularity
-  - docker
+  - docker_gitlab
+  - docker_dockerhub
 
 .template_docker:
-  stage: docker
   image: docker:latest
   services:
     - docker:dind
@@ -79,10 +79,11 @@ buildSingularity:
     - if: $CI_COMMIT_BRANCH != $CI_DEFAULT_BRANCH
       when: manual
 
-buildDockerProdDockerhub:
+buildDockerProdGitlab:
   extends: .template_docker
+  stage: docker_gitlab
   before_script:
-    - docker login -u "$DOCKERHUB_USER" -p "$DOCKERHUB_PASSWORD" $DOCKERHUB_REGISTRY
+    - docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY
   script:
     - docker build --pull -t "$DOCKERHUB_IMAGE:latest" .
     - docker push "$DOCKERHUB_IMAGE:latest"
@@ -92,10 +93,11 @@ buildDockerProdDockerhub:
     - if: $CI_COMMIT_BRANCH != $CI_DEFAULT_BRANCH
       when: manual
 
-buildDockerProdGitlab:
+buildDockerProdDockerhub:
   extends: .template_docker
+  stage: docker_dockerhub
   before_script:
-    - docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY
+    - docker login -u "$DOCKERHUB_USER" -p "$DOCKERHUB_PASSWORD" $DOCKERHUB_REGISTRY
   script:
     - docker build --pull -t "$DOCKERHUB_IMAGE:latest" .
     - docker push "$DOCKERHUB_IMAGE:latest"
@@ -106,3 +108,5 @@ buildDockerProdGitlab:
       when: manual
 
 
+
+
-- 
GitLab


From a8bd5f7d196ed100edcdf6d1a495ac752954d556 Mon Sep 17 00:00:00 2001
From: lcottret <ludovic.cottret@inrae.fr>
Date: Mon, 25 Apr 2022 13:05:31 +0200
Subject: [PATCH 06/13] singularity and docker in the same stage

---
 .gitlab-ci.yml | 8 ++------
 1 file changed, 2 insertions(+), 6 deletions(-)

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index f764eb45c..b0edffc47 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -4,11 +4,9 @@ stages:
   - build
   - test
   - deploy
-  - singularity
-  - docker_gitlab
-  - docker_dockerhub
 
 .template_docker:
+  stage: deploy
   image: docker:latest
   services:
     - docker:dind
@@ -66,7 +64,7 @@ deployCentral:
     - master
 
 buildSingularity:
-  stage: singularity
+  stage: deploy
   image:
     name: quay.io/singularity/singularity:v3.4.0
     entrypoint: [ "" ]
@@ -81,7 +79,6 @@ buildSingularity:
 
 buildDockerProdGitlab:
   extends: .template_docker
-  stage: docker_gitlab
   before_script:
     - docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY
   script:
@@ -95,7 +92,6 @@ buildDockerProdGitlab:
 
 buildDockerProdDockerhub:
   extends: .template_docker
-  stage: docker_dockerhub
   before_script:
     - docker login -u "$DOCKERHUB_USER" -p "$DOCKERHUB_PASSWORD" $DOCKERHUB_REGISTRY
   script:
-- 
GitLab


From 24433f543951555ab5bb9e2ab76c48b9f451c37f Mon Sep 17 00:00:00 2001
From: lcottret <ludovic.cottret@inrae.fr>
Date: Mon, 25 Apr 2022 13:12:26 +0200
Subject: [PATCH 07/13] debug ci

---
 .gitlab-ci.yml | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index b0edffc47..eeb773ef1 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -95,8 +95,8 @@ buildDockerProdDockerhub:
   before_script:
     - docker login -u "$DOCKERHUB_USER" -p "$DOCKERHUB_PASSWORD" $DOCKERHUB_REGISTRY
   script:
-    - docker build --pull -t "$DOCKERHUB_IMAGE:latest" .
-    - docker push "$DOCKERHUB_IMAGE:latest"
+    - docker build --pull -t "$CI_REGISTRY/$DOCKERHUB_IMAGE:latest" .
+    - docker push "$CI_REGISTRY/$DOCKERHUB_IMAGE:latest"
   rules:
     - if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH
       when: always
-- 
GitLab


From 2397a22305dc1aad89750c3ed8bbb03c10f14847 Mon Sep 17 00:00:00 2001
From: lcottret <ludovic.cottret@inrae.fr>
Date: Mon, 25 Apr 2022 13:15:47 +0200
Subject: [PATCH 08/13] debug ci

---
 .gitlab-ci.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index eeb773ef1..92ddacef3 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -95,7 +95,7 @@ buildDockerProdDockerhub:
   before_script:
     - docker login -u "$DOCKERHUB_USER" -p "$DOCKERHUB_PASSWORD" $DOCKERHUB_REGISTRY
   script:
-    - docker build --pull -t "$CI_REGISTRY/$DOCKERHUB_IMAGE:latest" .
+    - docker build --pull -t "$DOCKERHUB_IMAGE:latest" .
     - docker push "$CI_REGISTRY/$DOCKERHUB_IMAGE:latest"
   rules:
     - if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH
-- 
GitLab


From 9f6496140b8f9946743925655b270ac3916ab497 Mon Sep 17 00:00:00 2001
From: lcottret <ludovic.cottret@inrae.fr>
Date: Mon, 25 Apr 2022 13:22:59 +0200
Subject: [PATCH 09/13] debug ci

---
 .gitlab-ci.yml | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 92ddacef3..eb2df5ca7 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -83,7 +83,7 @@ buildDockerProdGitlab:
     - docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY
   script:
     - docker build --pull -t "$DOCKERHUB_IMAGE:latest" .
-    - docker push "$DOCKERHUB_IMAGE:latest"
+    - docker push "$CI_REGISTRY/$DOCKERHUB_IMAGE:latest"
   rules:
     - if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH
       when: always
@@ -96,7 +96,7 @@ buildDockerProdDockerhub:
     - docker login -u "$DOCKERHUB_USER" -p "$DOCKERHUB_PASSWORD" $DOCKERHUB_REGISTRY
   script:
     - docker build --pull -t "$DOCKERHUB_IMAGE:latest" .
-    - docker push "$CI_REGISTRY/$DOCKERHUB_IMAGE:latest"
+    - docker push "$DOCKERHUB_IMAGE:latest"
   rules:
     - if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH
       when: always
-- 
GitLab


From 526fd9c56de32a3a122d5747d76ddf57b1dfde55 Mon Sep 17 00:00:00 2001
From: lcottret <ludovic.cottret@inrae.fr>
Date: Mon, 25 Apr 2022 13:33:06 +0200
Subject: [PATCH 10/13] debug ci

---
 .gitlab-ci.yml | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index eb2df5ca7..d22d5c0ef 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -4,9 +4,11 @@ stages:
   - build
   - test
   - deploy
+  - build-singularity
+  - build-docker
 
 .template_docker:
-  stage: deploy
+  stage: build-docker
   image: docker:latest
   services:
     - docker:dind
@@ -64,7 +66,7 @@ deployCentral:
     - master
 
 buildSingularity:
-  stage: deploy
+  stage: build-singularity
   image:
     name: quay.io/singularity/singularity:v3.4.0
     entrypoint: [ "" ]
-- 
GitLab


From 1854685223cd9f983140a14ed2583a7e40882e55 Mon Sep 17 00:00:00 2001
From: lcottret <ludovic.cottret@inrae.fr>
Date: Mon, 25 Apr 2022 13:36:17 +0200
Subject: [PATCH 11/13] debug ci

---
 .gitlab-ci.yml | 7 +++----
 1 file changed, 3 insertions(+), 4 deletions(-)

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index d22d5c0ef..89a483cb7 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -4,11 +4,10 @@ stages:
   - build
   - test
   - deploy
-  - build-singularity
-  - build-docker
+  - build-containers
 
 .template_docker:
-  stage: build-docker
+  stage: build-containers
   image: docker:latest
   services:
     - docker:dind
@@ -66,7 +65,7 @@ deployCentral:
     - master
 
 buildSingularity:
-  stage: build-singularity
+  stage: build-containers
   image:
     name: quay.io/singularity/singularity:v3.4.0
     entrypoint: [ "" ]
-- 
GitLab


From b813e3a18acb53fda2fb6a48db96197249166caf Mon Sep 17 00:00:00 2001
From: lcottret <ludovic.cottret@inrae.fr>
Date: Mon, 25 Apr 2022 13:51:58 +0200
Subject: [PATCH 12/13] debug gilab docker deploy

---
 .gitlab-ci.yml | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 89a483cb7..8bb29b5d0 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -83,8 +83,8 @@ buildDockerProdGitlab:
   before_script:
     - docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY
   script:
-    - docker build --pull -t "$DOCKERHUB_IMAGE:latest" .
-    - docker push "$CI_REGISTRY/$DOCKERHUB_IMAGE:latest"
+    - docker build --pull -t "met4j/met4j-docker:latest" .
+    - docker push "registry.forgemia.inra.fr/metexplore/met4j/met4j-docker:latest"
   rules:
     - if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH
       when: always
-- 
GitLab


From 9aa5fbe3954d5c2ddadcc80e94570413dc219669 Mon Sep 17 00:00:00 2001
From: lcottret <ludovic.cottret@inrae.fr>
Date: Mon, 25 Apr 2022 14:03:28 +0200
Subject: [PATCH 13/13] debug docker push in gitlab

---
 .gitlab-ci.yml | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 8bb29b5d0..01f27c9b3 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -81,10 +81,10 @@ buildSingularity:
 buildDockerProdGitlab:
   extends: .template_docker
   before_script:
-    - docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY
+    - docker login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD $CI_REGISTRY
   script:
-    - docker build --pull -t "met4j/met4j-docker:latest" .
-    - docker push "registry.forgemia.inra.fr/metexplore/met4j/met4j-docker:latest"
+    - docker build -t "$CI_REGISTRY/metexplore/met4j/met4j-docker:latest" .
+    - docker push "$CI_REGISTRY/metexplore/met4j/met4j-docker:latest"
   rules:
     - if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH
       when: always
-- 
GitLab