Dockerfile 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  1. # Copyright 2015 gRPC authors.
  2. #
  3. # Licensed under the Apache License, Version 2.0 (the "License");
  4. # you may not use this file except in compliance with the License.
  5. # You may obtain a copy of the License at
  6. #
  7. # http://www.apache.org/licenses/LICENSE-2.0
  8. #
  9. # Unless required by applicable law or agreed to in writing, software
  10. # distributed under the License is distributed on an "AS IS" BASIS,
  11. # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  12. # See the License for the specific language governing permissions and
  13. # limitations under the License.
  14. FROM debian:jessie
  15. #=================
  16. # Basic C core dependencies
  17. # C/C++ dependencies according to https://github.com/grpc/grpc/blob/master/BUILDING.md
  18. RUN apt-get update && apt-get install -y \
  19. build-essential \
  20. autoconf \
  21. libtool \
  22. pkg-config \
  23. && apt-get clean
  24. # GCC
  25. RUN apt-get update && apt-get install -y \
  26. gcc \
  27. gcc-multilib \
  28. g++ \
  29. g++-multilib \
  30. && apt-get clean
  31. # libc6
  32. RUN apt-get update && apt-get install -y \
  33. libc6 \
  34. libc6-dbg \
  35. libc6-dev \
  36. && apt-get clean
  37. # Tools
  38. RUN apt-get update && apt-get install -y \
  39. bzip2 \
  40. curl \
  41. dnsutils \
  42. git \
  43. lcov \
  44. make \
  45. strace \
  46. time \
  47. unzip \
  48. wget \
  49. zip \
  50. && apt-get clean
  51. #==================
  52. # Node dependencies
  53. # Install nvm
  54. RUN touch .profile
  55. RUN curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.25.4/install.sh | bash
  56. # Install all versions of node that we want to test
  57. RUN /bin/bash -l -c "nvm install 4 && npm config set cache /tmp/npm-cache"
  58. RUN /bin/bash -l -c "nvm install 5 && npm config set cache /tmp/npm-cache"
  59. RUN /bin/bash -l -c "nvm install 6 && npm config set cache /tmp/npm-cache"
  60. RUN /bin/bash -l -c "nvm install 8 && npm config set cache /tmp/npm-cache"
  61. RUN /bin/bash -l -c "nvm install 9 && npm config set cache /tmp/npm-cache"
  62. RUN /bin/bash -l -c "nvm install 10 && npm config set cache /tmp/npm-cache"
  63. RUN /bin/bash -l -c "nvm alias default 10"
  64. RUN mkdir /var/local/jenkins
  65. # Define the default command.
  66. CMD ["bash"]