Commit e3966fa6 authored by Mathieu Courtois's avatar Mathieu Courtois
Browse files

Merge branch 'mc/docker'

parents 978a563e c320a969
Loading
Loading
Loading
Loading
+33 −0
Original line number Diff line number Diff line
#!/busybox/sh
# Warning: will be executed by /busybox/sh in a kaniko container

variant="$1"

echo "+ $(date) - building code_aster Docker image on ${variant}..."
baseimage="${DOCKER_NEXUS_URL}/codeaster-prerequisites:${PREREQ_VERSION}-${variant}"
dest="${DOCKER_NEXUS_URL}/codeaster-main:${PREREQ_VERSION}-${variant}"

# instanciate template
mkdir -p artf
sed -e "s@%baseimage%@${baseimage}@g" .gitlabci/codeaster-main.dockerfile.tmpl \
    > artf/codeaster-main-${variant}.dockerfile
cat artf/codeaster-main-${variant}.dockerfile

encoded=$(printf "%s:%s" "${DOCKER_NEXUS_USER}" "${DOCKER_NEXUS_PASSWD}" | base64 | tr -d '\n')
cat << eof > /kaniko/.docker/config.json
{
    "auths": {
        "${DOCKER_NEXUS_URL}": {
            "auth": "${encoded}"
        }
    }
}
eof

# copying certificate into /kaniko/ssl/certs/ca-certificates.crt does not work
/kaniko/executor \
      --context "${CI_PROJECT_DIR}" \
      --build-arg GITLAB_PREREQ_TOKEN=${GITLAB_PREREQ_TOKEN} \
      --dockerfile "${CI_PROJECT_DIR}/artf/codeaster-main-${variant}.dockerfile" \
      --skip-tls-verify \
      --destination "${dest}"
+23 −0
Original line number Diff line number Diff line
FROM %baseimage%

USER root
ENV WRKDIR /opt/repo
WORKDIR ${WRKDIR}

RUN \
    mkdir -p ${WRKDIR} ; \
    cd ${WRKDIR} ; \
    git clone --depth=100 https://gitlab.pleiade.edf.fr/codeaster/src ; \
    cd ${WRKDIR}/src ; \
    ./configure --prefix=/opt/codeaster ; \
    jobs=$(( $(nproc) - 2 )) ; \
    make install -j ${jobs} ; \
    cd / ; \
    rm -rf ${WRKDIR}

ENV WRKDIR=

USER user
WORKDIR /home/user

ENTRYPOINT ["/opt/codeaster/bin/run_aster"]
+21 −4
Original line number Diff line number Diff line
@@ -4,7 +4,7 @@ variables:
  ROOT_URL: https://$GITLAB_TOKEN_NAME:$GITLAB_TOKEN@gitlab.pleiade.edf.fr/codeaster
  PREREQ_VERSION: 20240327
  OSNAME: debian-11
  IMAGE_URL: nexus.retd.edf.fr:5075/codeaster-prerequisites:${PREREQ_VERSION}-${OSNAME}
  IMAGE_URL: ${DOCKER_NEXUS_URL}/codeaster-prerequisites:${PREREQ_VERSION}-${OSNAME}
  BUILD: mpi
  BUILDTYPE: ci
  REFREV: ${CI_MERGE_REQUEST_TARGET_BRANCH_NAME}
@@ -27,6 +27,7 @@ workflow:
      variables:
        BUILD: debug
    - if: $BUILDTYPE == "code-checking"
    - if: $BUILDTYPE == "docker"
  auto_cancel:
    on_new_commit: interruptible

@@ -50,7 +51,7 @@ prepare:
      - data-src/*
    expire_in: 6 hours
  rules:
    - if: $BUILDTYPE != "code-checking"
    - if: $BUILDTYPE != "code-checking" && $BUILDTYPE != "docker"

compile:
  interruptible: true
@@ -72,7 +73,7 @@ compile:
      - install/*
    expire_in: 3 days
  rules:
    - if: $BUILDTYPE != "code-checking"
    - if: $BUILDTYPE != "code-checking" && $BUILDTYPE != "docker"

doc_html:
  interruptible: true
@@ -167,7 +168,7 @@ verification_test:
    reports:
      junit: results/run_testcases.xml
  rules:
    - if: $BUILDTYPE != "code-checking" && $CI_COMMIT_REF_NAME !~ $reg_debugging
    - if: $BUILDTYPE != "code-checking" && $BUILDTYPE != "docker"  && $CI_COMMIT_REF_NAME !~ $reg_debugging

known_failures_test:
  interruptible: true
@@ -235,3 +236,19 @@ sonarqube:
  allow_failure: true
  rules:
    - if: $BUILDTYPE == "code-checking"

docker:
  stage: build
  rules:
    - if: $CI_COMMIT_REF_NAME == $CI_DEFAULT_BRANCH
    - if: $BUILDTYPE == "docker"
  image:
    name: nexus.retd.edf.fr/kaniko-project/executor:debug
    entrypoint: [""]
  script:
    - sh .gitlabci/build_docker_codeaster.sh ${OSNAME}
  allow_failure: true
  artifacts:
    paths:
      - artf/codeaster-main-*.dockerfile
    expire_in: 1 day