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