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" 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 \ RUN rm -rf /etc/localtime && ln -s /usr/share/zoneinfo/Europe/Paris /etc/localtime \
        # Fix Centos repo urls # Fix Centos repo urls
        && sed -i 's/mirrorlist/#mirrorlist/g' /etc/yum.repos.d/CentOS-* \ && 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-* \ && sed -i 's|#\s*baseurl=http://mirror.centos.org|baseurl=http://vault.centos.org|g' /etc/yum.repos.d/CentOS-* \
        && yum update -y \ && yum update -y \
        && yum install -y curl bzip2 git \ && yum install -y curl bzip2 \
        && yum clean all \ && yum clean all \
        # Add groups # Add groups
        && groupadd g1001 -g 1001 \ && groupadd g1001 -g 1001 \
        ...@@ -23,24 +17,41 @@ RUN rm -rf /etc/localtime && ln -s /usr/share/zoneinfo/Europe/Paris /etc/localti ...@@ -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 \ && useradd -ms /bin/bash conan -u 1000 -g 1001 -G 1000,2000,999 \
        # Add sudo for conan user # Add sudo for conan user
        && printf "conan:conan" | chpasswd \ && 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 # 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 # Install environment with micromamba
        && micromamba create -y -f /tmp/environment.yml && \ && micromamba create -y -f /tmp/environment.yml \
        rm /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 COPY environment /etc/environment
        USER conan USER conan
        WORKDIR /home/conan WORKDIR /home/conan
        # Activate environment when launching command # 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 # Define default shell and activate environment
        SHELL ["/bin/bash", "-c"] SHELL ["/bin/bash", "-c"]
        RUN echo 'eval "$(micromamba shell hook --shell=bash)"' >> ~/.bashrc && \ RUN echo 'eval "$(micromamba shell hook --shell=bash)"' >> ~/.bashrc \
        echo 'micromamba activate conan-el7-gcc114' >> ~/.bashrc && echo 'micromamba activate ${MAMBA_ENV}' >> ~/.bashrc
        # Lauch interactive shell by default # Lauch interactive shell by default
        CMD ["/bin/bash"] CMD ["/bin/bash"]
        0% Loading or .
        You are about to add 0 people to the discussion. Proceed with caution.
        Please register or to comment