From 43d4d172fb47045982234d3820a4bb7d8f4aefda Mon Sep 17 00:00:00 2001 From: Natanael Copa Date: Mon, 4 Jan 2016 20:55:44 +0100 Subject: [PATCH 1/2] Add 2.3-alpine image --- .travis.yml | 1 + 2.3/alpine/Dockerfile | 81 +++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 82 insertions(+) create mode 100644 2.3/alpine/Dockerfile diff --git a/.travis.yml b/.travis.yml index cbcd13aec..0870069bd 100644 --- a/.travis.yml +++ b/.travis.yml @@ -4,6 +4,7 @@ services: docker env: - VERSION=2.3 VARIANT= - VERSION=2.3 VARIANT=slim + - VERSION=2.3 VARIANT=alpine - VERSION=2.2 VARIANT= - VERSION=2.2 VARIANT=slim - VERSION=2.1 VARIANT= diff --git a/2.3/alpine/Dockerfile b/2.3/alpine/Dockerfile new file mode 100644 index 000000000..bcfd8ec95 --- /dev/null +++ b/2.3/alpine/Dockerfile @@ -0,0 +1,81 @@ +FROM alpine:3.3 + +ENV RUBY_MAJOR 2.3 +ENV RUBY_VERSION 2.3.0 +ENV RUBY_DOWNLOAD_SHA256 ba5ba60e5f1aa21b4ef8e9bf35b9ddb57286cb546aac4b5a28c71f459467e507 +ENV RUBYGEMS_VERSION 2.5.1 + +# skip installing gem documentation +RUN echo -e 'install: --no-document\nupdate: --no-document' >> "$HOME/.gemrc" + +RUN set -x \ + && apk add --no-cache --virtual .ruby-builddeps \ + autoconf \ + bison \ + bzip2 \ + bzip2-dev \ + ca-certificates \ + coreutils \ + curl \ + gcc \ + gdbm-dev \ + glib-dev \ + libc-dev \ + libedit-dev \ + libffi-dev \ + libxml2-dev \ + libxslt-dev \ + linux-headers \ + make \ + ncurses-dev \ + openssl-dev \ + procps \ + ruby \ + yaml-dev \ + zlib-dev \ + && curl -fSL -o ruby.tar.gz "http://cache.ruby-lang.org/pub/ruby/$RUBY_MAJOR/ruby-$RUBY_VERSION.tar.gz" \ + && echo "$RUBY_DOWNLOAD_SHA256 *ruby.tar.gz" | sha256sum -c - \ + && mkdir -p /usr/src \ + && tar -xzf ruby.tar.gz -C /usr/src \ + && mv "/usr/src/ruby-$RUBY_VERSION" /usr/src/ruby \ + && rm ruby.tar.gz \ + && cd /usr/src/ruby \ + && 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 \ + && make -j"$(nproc)" \ + && make install \ + && gem update --system $RUBYGEMS_VERSION \ + && 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 \ + curl \ + libffi-dev \ + openssl-dev \ + yaml-dev \ + procps \ + zlib-dev \ + && apk del .ruby-builddeps \ + && rm -r /usr/src/ruby + +# install things globally, for great justice +ENV GEM_HOME /usr/local/bundle +ENV PATH $GEM_HOME/bin:$PATH + +ENV BUNDLER_VERSION 1.11.2 + +RUN gem install bundler --version "$BUNDLER_VERSION" \ + && bundle config --global path "$GEM_HOME" \ + && bundle config --global bin "$GEM_HOME/bin" + +# don't create ".bundle" in all our apps +ENV BUNDLE_APP_CONFIG $GEM_HOME + +CMD [ "irb" ] From 88d294042f5cd0e5e0d79c101ae7e969841bc3c7 Mon Sep 17 00:00:00 2001 From: Natanael Copa Date: Wed, 6 Jan 2016 17:18:10 +0100 Subject: [PATCH 2/2] Add alpine to generate-stackbrew-library.sh also --- generate-stackbrew-library.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/generate-stackbrew-library.sh b/generate-stackbrew-library.sh index 3f6df5e62..9d895b43f 100755 --- a/generate-stackbrew-library.sh +++ b/generate-stackbrew-library.sh @@ -30,7 +30,7 @@ for version in "${versions[@]}"; do echo "$va: ${url}@${commit} $version" done - for variant in onbuild slim; do + for variant in onbuild slim alpine; do commit="$(cd "$version/$variant" && git log -1 --format='format:%H' -- Dockerfile $(awk 'toupper($1) == "COPY" { for (i = 2; i < NF; i++) { print $i } }' Dockerfile))" echo for va in "${versionAliases[@]}"; do