From c63fc0464ecdb34058ff83ff022b863e04b5d47b Mon Sep 17 00:00:00 2001 From: Tim Lianov Date: Thu, 9 Jan 2025 21:22:05 +0400 Subject: [PATCH] upd --- docker/Dockerfile.fluke | 140 +++++++++++----------------------------- 1 file changed, 37 insertions(+), 103 deletions(-) diff --git a/docker/Dockerfile.fluke b/docker/Dockerfile.fluke index ee07212..458aff9 100644 --- a/docker/Dockerfile.fluke +++ b/docker/Dockerfile.fluke @@ -1,111 +1,45 @@ -FROM alpine:latest +FROM gendosu/ruby:2.3.7-alpine + LABEL maintainer "Tim Lianov lianovt@gmail.com" # skip installing gem documentation -RUN mkdir -p /usr/local/etc \ - && { \ - echo 'install: --no-document'; \ - echo 'update: --no-document'; \ - } >> /usr/local/etc/gemrc -# install things globally, for great justice -# and don't create ".bundle" in all our apps -ENV GEM_HOME /usr/local/bundle -ENV BUNDLE_PATH="$GEM_HOME" \ - BUNDLE_BIN="$GEM_HOME/bin" \ - BUNDLE_SILENCE_ROOT_WARNING=1 \ - BUNDLE_APP_CONFIG="$GEM_HOME" -ENV PATH $BUNDLE_BIN:$PATH -RUN mkdir -p "$GEM_HOME" "$BUNDLE_BIN" \ - && chmod 777 "$GEM_HOME" "$BUNDLE_BIN" +# RUN set -ex \ +# \ +# && apk add --no-cache --virtual .ruby-builddeps \ +# autoconf \ +# bison \ +# bzip2 \ +# bzip2-dev \ +# ca-certificates \ +# coreutils \ +# gcc \ +# gdbm-dev \ +# glib-dev \ +# libc-dev \ +# libffi-dev \ +# libxml2-dev \ +# libxslt-dev \ +# linux-headers \ +# make \ +# ncurses-dev \ +# openssl \ +# openssl-dev \ +# procps \ +# readline-dev \ +# ruby \ +# tar \ +# yaml-dev \ +# zlib-dev \ +# xz -ENV RUBY_MAJOR 2.3 -ENV RUBY_VERSION 2.3.1 -ENV RUBY_DOWNLOAD_SHA256 6725b5534d5a3a21ec4f14d6d7b9921a0d00d08acb88fd04cd50b47b70496338 +ENV RUBYGEMS_VERSION 2.6.10 +RUN gem update --system "$RUBYGEMS_VERSION" -# some of ruby's build scripts are written in ruby -# we purge system ruby later to make sure our final image uses what we just built -# readline-dev vs libedit-dev: https://bugs.ruby-lang.org/issues/11869 and https://github.com/docker-library/ruby/issues/75 -RUN set -ex \ - \ - && apk add --no-cache --virtual .ruby-builddeps \ - autoconf \ - bison \ - bzip2 \ - bzip2-dev \ - ca-certificates \ - coreutils \ - gcc \ - gdbm-dev \ - glib-dev \ - libc-dev \ - libffi-dev \ - libxml2-dev \ - libxslt-dev \ - linux-headers \ - make \ - ncurses-dev \ - openssl \ - openssl-dev \ - procps \ - readline-dev \ - ruby \ - tar \ - yaml-dev \ - zlib-dev \ - xz +ENV BUNDLER_VERSION 1.14.5 +RUN gem install bundler --version "$BUNDLER_VERSION" -RUN wget -O ruby.tar.xz "https://cache.ruby-lang.org/pub/ruby/2.3/ruby-2.3.8.tar.xz" \ - # && echo "$RUBY_DOWNLOAD_SHA256 *ruby.tar.xz" | sha256sum -c - \ - \ - && mkdir -p /usr/src/ruby \ - && tar -xJf ruby.tar.xz -C /usr/src/ruby --strip-components=1 \ - && rm ruby.tar.xz \ - \ - && cd /usr/src/ruby \ - \ -# # hack in "ENABLE_PATH_CHECK" disabling to suppress: -# # warning: Insecure world writable dir - && { \ - echo '#define ENABLE_PATH_CHECK 0'; \ - echo; \ - cat file.c; \ - } > file.c.new \ - && mv file.c.new file.c \ - \ - && autoconf \ -# the configure script does not detect isnan/isinf as macros - && ac_cv_func_isnan=yes ac_cv_func_isinf=yes \ - ./configure --disable-install-doc --enable-shared \ - && make -j"$(getconf _NPROCESSORS_ONLN)" \ - && make install \ - \ - && runDeps="$( \ - scanelf --needed --nobanner --recursive /usr/local \ - | awk '{ gsub(/,/, "\nso:", $2); print "so:" $2 }' \ - | sort -u \ - | xargs -r apk info --installed \ - | sort -u \ - )" \ - && apk add --virtual .ruby-rundeps $runDeps \ - bzip2 \ - ca-certificates \ - libffi-dev \ - openssl-dev \ - yaml-dev \ - procps \ - zlib-dev \ - && apk del .ruby-builddeps \ - && cd / \ - && rm -r /usr/src/ruby - -# ENV RUBYGEMS_VERSION 2.6.10 -# RUN gem update --system "$RUBYGEMS_VERSION" - -# ENV BUNDLER_VERSION 1.14.5 -# RUN gem install bundler --version "$BUNDLER_VERSION" - -# ADD /devops-service /app/ -# WORKDIR /app -# RUN bundle install +ADD /devops-service /app/ +WORKDIR /app +RUN bundle install