diff --git a/lazyDir/centos7.Dockerfile b/lazyDir/centos7.Dockerfile index 4dc1476..fb061ea 100644 --- a/lazyDir/centos7.Dockerfile +++ b/lazyDir/centos7.Dockerfile @@ -22,56 +22,64 @@ # Import required GPG keys RUN rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7 \ - && rpm --import http://download.fedoraproject.org/pub/epel/RPM-GPG-KEY-EPEL-7 \ - && rpm --import http://yum.puppetlabs.com/RPM-GPG-KEY-puppet \ - && rpm --import http://yum.puppetlabs.com/RPM-GPG-KEY-puppetlabs \ - && rpm --import http://yum.mariadb.org/RPM-GPG-KEY-MariaDB + && rpm --import http://download.fedoraproject.org/pub/epel/RPM-GPG-KEY-EPEL-7 \ + && rpm --import http://yum.puppetlabs.com/RPM-GPG-KEY-puppet \ + && rpm --import http://yum.puppetlabs.com/RPM-GPG-KEY-puppetlabs \ + && rpm --import http://yum.mariadb.org/RPM-GPG-KEY-MariaDB # Enable epel repo and Install all current updates -RUN yum -q -y update \ - && yum -y install epel-release \ - && rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7 \ - && yum -y upgrade \ - && yum -q clean all +RUN yum -q clean expire-cache \ + && yum -q -y update \ + && yum -y install epel-release \ + && rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7 \ + && yum -q clean all # Install common requirements -RUN yum -q -y update \ - && yum -y install \ - git \ - wget \ - unzip \ - which \ - && yum -q clean all +RUN yum -q clean expire-cache \ + && yum -q -y update \ + && yum -y install \ + git \ + wget \ + unzip \ + which \ + && yum -q clean all + +# Enable Software Collections +RUN yum -q clean expire-cache \ + && yum -q -y update \ + && yum -y install centos-release-scl scl-utils-build \ + && rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-SIG-SCLo \ + && yum -q clean all # Install Ruby 2.6 from SCLO repo RUN yum -q clean expire-cache \ - && yum -y install centos-release-scl scl-utils-build \ - && rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-SIG-SCLo \ - && yum -y install \ - rh-ruby26-ruby \ - rh-ruby26-ruby-libs \ - rh-ruby26-ruby-devel \ - rh-ruby26-rubygems \ - rh-ruby26-rubygem-bundler \ - && yum -q clean packages + && yum -q -y update \ + && yum -y install \ + rh-ruby26-ruby \ + rh-ruby26-ruby-libs \ + rh-ruby26-ruby-devel \ + rh-ruby26-rubygems \ + rh-ruby26-rubygem-bundler \ + && yum -q clean all # Install extra dev tools RUN yum -q clean expire-cache \ - && yum -y install epel-release \ - && yum -y install \ - gcc \ - gcc-c++ \ - make \ - nodejs \ - zlib-devel \ - && yum -q clean packages + && yum -q -y update \ + && yum -y install \ + gcc \ + gcc-c++ \ + make \ + zlib-devel \ + && yum -q clean all # Install extra java deps ARG jdk=1.8.0 RUN yum -q clean expire-cache \ - && yum -y install tzdata-java \ - java-${jdk}-openjdk-devel \ - && yum -q clean packages + && yum -q -y update \ + && yum -y install \ + tzdata-java \ + java-${jdk}-openjdk-devel \ + && yum -q clean all # Create a symbolic link to latest JVM - for legacy scripts RUN mkdir /usr/java && ln -s /usr/lib/jvm/java-${jdk}-openjdk /usr/java/latest @@ -79,10 +87,10 @@ # Enable SCLs for any later bash session # The script can also be sourced if the entry-point is overwritten RUN echo "#!/usr/bin/env bash" > "/usr/local/bin/withscl" \ - && echo 'if ! [[ "${PATH}" =~ "${HOME}/bin" ]]; then export PATH=${PATH}:${HOME}/bin; fi' >> "/usr/local/bin/withscl" \ - && echo 'while read SCL; do source scl_source enable ${SCL}; done < <(scl --list)' >> "/usr/local/bin/withscl" \ - && echo 'if [ "$(basename "${0}")" == "$(basename ${BASH_SOURCE[0]})" ]; then exec "$@"; fi' >> "/usr/local/bin/withscl" \ - && chmod 0755 "/usr/local/bin/withscl" + && echo 'if ! [[ "${PATH}" =~ "${HOME}/bin" ]]; then export PATH=${PATH}:${HOME}/bin; fi' >> "/usr/local/bin/withscl" \ + && echo 'while read SCL; do source scl_source enable ${SCL}; done < <(scl --list)' >> "/usr/local/bin/withscl" \ + && echo 'if [ "$(basename "${0}")" == "$(basename ${BASH_SOURCE[0]})" ]; then exec "$@"; fi' >> "/usr/local/bin/withscl" \ + && chmod 0755 "/usr/local/bin/withscl" ENTRYPOINT [ "/usr/local/bin/withscl" ] @@ -103,16 +111,19 @@ COPY Gemfile Gemfile.lock "/home/${user}/" RUN chown "${user}:${group}" "/home/${user}/Gemfile"* -# Switch to non-root user and install requirements +# Switch to non-root user USER ${user} WORKDIR /home/${user} -RUN /usr/local/bin/withscl gem install bundler --version `sed -n -r -e '/BUNDLED WITH/,$ { s/\s+([.0-9]+)/\1/ p }' Gemfile.lock` -RUN /usr/local/bin/withscl bundler config --global path /home/${user}/.bundle/gems -RUN /usr/local/bin/withscl bundler config --global bin /home/${user}/bin -RUN /usr/local/bin/withscl bundler install -ENV GEM_PATH=/home/${user}/.gem/ruby:/home/${user}/.bundle/gems/ruby/2.6.0:/opt/rh/rh-ruby26/root/usr/share/gems -# Prepare locales (for Jekyll) +# Install Fastlane +RUN echo "gem: --no-document --user-install --bindir /home/android/bin" >> /home/${user}/.gemrc +RUN echo "gempath: /home/${user}/.gem/ruby:/home/${user}/.bundle/gems/ruby/2.6.0:/opt/rh/rh-ruby26/root/usr/share/gems" >> .gemrc +RUN /usr/local/bin/withscl gem install bundler --version `sed -n -r -e '/BUNDLED WITH/,$ { s/\s+([.0-9]+)/\1/ p }' Gemfile.lock` +RUN /usr/local/bin/withscl bundle config --global path /home/${user}/.bundle/gems +RUN /usr/local/bin/withscl bundle config --global bin /home/${user}/bin +RUN /usr/local/bin/withscl bundle install && /usr/local/bin/withscl bundle clean + +# Prepare locales and other variables ARG locale=en_US.UTF-8 ENV LANG "${locale}" ENV LC_ALL "${locale}"