github.com/pquerna/agent@v2.1.8+incompatible/Dockerfile (about) 1 FROM golang:1.6 2 3 RUN apt-get update && apt-get install -y --no-install-recommends \ 4 autoconf \ 5 automake \ 6 bzip2 \ 7 file \ 8 g++ \ 9 gcc \ 10 imagemagick \ 11 libbz2-dev \ 12 libc6-dev \ 13 libcurl4-openssl-dev \ 14 libevent-dev \ 15 libffi-dev \ 16 libgeoip-dev \ 17 libglib2.0-dev \ 18 libjpeg-dev \ 19 liblzma-dev \ 20 libmagickcore-dev \ 21 libmagickwand-dev \ 22 libmysqlclient-dev \ 23 libncurses-dev \ 24 libpng-dev \ 25 libpq-dev \ 26 libreadline-dev \ 27 libsqlite3-dev \ 28 libssl-dev \ 29 libtool \ 30 libwebp-dev \ 31 libxml2-dev \ 32 libxslt-dev \ 33 libyaml-dev \ 34 make \ 35 patch \ 36 xz-utils \ 37 zlib1g-dev \ 38 zip \ 39 && rm -rf /var/lib/apt/lists/* 40 41 ENV RUBY_MAJOR 2.2 42 ENV RUBY_VERSION 2.2.3 43 ENV RUBY_DOWNLOAD_SHA256 df795f2f99860745a416092a4004b016ccf77e8b82dec956b120f18bdc71edce 44 ENV RUBYGEMS_VERSION 2.4.8 45 46 # Skip installing gem documentation 47 RUN echo 'install: --no-document\nupdate: --no-document' >> "$HOME/.gemrc" 48 49 # Some of ruby's build scripts are written in ruby 50 # we purge this later to make sure our final image uses what we just built 51 RUN apt-get update \ 52 && apt-get install -y bison libgdbm-dev ruby \ 53 && rm -rf /var/lib/apt/lists/* \ 54 && mkdir -p /usr/src/ruby \ 55 && curl -fSL -o ruby.tar.gz "http://cache.ruby-lang.org/pub/ruby/$RUBY_MAJOR/ruby-$RUBY_VERSION.tar.gz" \ 56 && echo "$RUBY_DOWNLOAD_SHA256 *ruby.tar.gz" | sha256sum -c - \ 57 && tar -xzf ruby.tar.gz -C /usr/src/ruby --strip-components=1 \ 58 && rm ruby.tar.gz \ 59 && cd /usr/src/ruby \ 60 && autoconf \ 61 && ./configure --disable-install-doc \ 62 && make -j"$(nproc)" \ 63 && make install \ 64 && apt-get purge -y --auto-remove bison libgdbm-dev ruby \ 65 && gem update --system $RUBYGEMS_VERSION \ 66 && rm -r /usr/src/ruby 67 68 # Install things globally, for great justice 69 ENV GEM_HOME /usr/local/bundle 70 ENV PATH $GEM_HOME/bin:$PATH 71 72 ENV BUNDLER_VERSION 1.10.6 73 74 RUN gem install bundler --version "$BUNDLER_VERSION" \ 75 && bundle config --global path "$GEM_HOME" \ 76 && bundle config --global bin "$GEM_HOME/bin" 77 78 # Don't create ".bundle" in all our apps 79 ENV BUNDLE_APP_CONFIG $GEM_HOME 80 81 # When nokogiri installs, it calls out the `patch` command to fix some libxml 82 # stuffs 83 RUN apt-get install -y patch 84 85 # Install Golang dependencies 86 RUN go get github.com/golang/lint/golint 87 RUN go get github.com/buildkite/github-release 88 89 # The golang Docker sets the $GOPATH to be /go 90 # https://github.com/docker-library/golang/blob/c1baf037d71331eb0b8d4c70cff4c29cf124c5e0/1.4/Dockerfile 91 RUN mkdir -p /go/src/github.com/buildkite/agent 92 WORKDIR /go/src/github.com/buildkite/agent