Skip to content
Snippets Groups Projects
Commit 0ed261f8 authored by Patrick MADELA's avatar Patrick MADELA
Browse files

Fix docker image for Jenkins

parent 68f7d055
No related branches found
No related tags found
No related merge requests found
Pipeline #6351 passed
Pipeline: conan-docker-tools

#6361

    Pipeline: conan-docker-tools

    #6360

      Pipeline: conan-docker-tools

      #6359

        +7
        FROM centos:7
        FROM gitlab-registry.synchrotron-soleil.fr/software-control-system/containers/dev-docker-tools/dev-el7-gcc48
        LABEL maintainer="Patrick Madela <patrick.madela@synchrotron-soleil.fr"
        ENV MAMBA_ROOT_PREFIX=/opt/micromamba
        ENV PATH=${MAMBA_ROOT_PREFIX}/bin:$PATH
        # Configure micromamba environment
        COPY conan-el7-gcc114/environment.yml /tmp/environment.yml
        RUN rm -rf /etc/localtime && ln -s /usr/share/zoneinfo/Europe/Paris /etc/localtime \
        # Fix Centos repo urls
        && sed -i 's/mirrorlist/#mirrorlist/g' /etc/yum.repos.d/CentOS-* \
        && sed -i 's|#\s*baseurl=http://mirror.centos.org|baseurl=http://vault.centos.org|g' /etc/yum.repos.d/CentOS-* \
        && yum update -y \
        && yum install -y curl bzip2 git \
        && yum install -y curl bzip2 \
        && yum clean all \
        # Add groups
        && groupadd g1001 -g 1001 \
        ......@@ -23,24 +17,41 @@ RUN rm -rf /etc/localtime && ln -s /usr/share/zoneinfo/Europe/Paris /etc/localti
        && useradd -ms /bin/bash conan -u 1000 -g 1001 -G 1000,2000,999 \
        # Add sudo for conan user
        && printf "conan:conan" | chpasswd \
        && printf "conan ALL= NOPASSWD: ALL\\n" >> /etc/sudoers \
        && printf "conan ALL= NOPASSWD: ALL\\n" >> /etc/sudoers
        ENV MAMBA_ROOT_PREFIX=/opt/micromamba
        ENV PATH=${MAMBA_ROOT_PREFIX}/bin-wrappers:$PATH
        ENV MAMBA_ENV=conan-el7-gcc114
        # Configure micromamba environment
        COPY ${MAMBA_ENV}/environment.yml /tmp/environment.yml
        # Install micromamba
        && curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest | tar -xvj bin/micromamba \
        RUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest | tar -xvj -C /usr/local/bin --strip-components=1 bin/micromamba \
        # Install environment with micromamba
        && micromamba create -y -f /tmp/environment.yml && \
        rm /tmp/environment.yml
        && micromamba create -y -f /tmp/environment.yml \
        && rm /tmp/environment.yml \
        # Install wrapper to launch commands using micromamba for Jenkins (docker exec)
        && mkdir -p /opt/micromamba/bin-wrappers \
        && echo '#!/bin/bash' > /opt/micromamba/bin-wrappers/micromamba-wrapper.sh \
        && echo 'exec /usr/local/bin/micromamba run -n ${MAMBA_ENV} $(basename $0) "$@"' >> /opt/micromamba/bin-wrappers/micromamba-wrapper.sh \
        && chmod +x /opt/micromamba/bin-wrappers/micromamba-wrapper.sh \
        # Link all binaries to wrapper
        && for bin in $(ls /opt/micromamba/envs/${MAMBA_ENV}/bin); do \
        ln -s micromamba-wrapper.sh /opt/micromamba/bin-wrappers/$bin; \
        done
        COPY environment /etc/environment
        USER conan
        WORKDIR /home/conan
        # Activate environment when launching command
        ENTRYPOINT ["bash", "-c" ,"eval \"$(micromamba shell hook --shell bash)\" && micromamba activate conan-el7-gcc114 && \"$@\"", "-s"]
        ENTRYPOINT ["bash", "-c" ,"eval \"$(micromamba shell hook --shell bash)\" && micromamba activate ${MAMBA_ENV} && \"$@\"", "-s"]
        # Define default shell and activate environment
        SHELL ["/bin/bash", "-c"]
        RUN echo 'eval "$(micromamba shell hook --shell=bash)"' >> ~/.bashrc && \
        echo 'micromamba activate conan-el7-gcc114' >> ~/.bashrc
        RUN echo 'eval "$(micromamba shell hook --shell=bash)"' >> ~/.bashrc \
        && echo 'micromamba activate ${MAMBA_ENV}' >> ~/.bashrc
        # Lauch interactive shell by default
        CMD ["/bin/bash"]
        0% Loading or .
        You are about to add 0 people to the discussion. Proceed with caution.
        Please register or to comment