diff --git a/tools/dockerfile/grpc_ruby_deb/Dockerfile b/tools/dockerfile/grpc_ruby_deb/Dockerfile new file mode 100644 index 00000000000..25ea2c54bd8 --- /dev/null +++ b/tools/dockerfile/grpc_ruby_deb/Dockerfile @@ -0,0 +1,31 @@ +# Dockerfile for gRPC Ruby, but using Debian packages for gRPC C core. +FROM grpc/ruby_base + +# Pull the latest sources +RUN cd /var/local/git/grpc \ + && git pull --recurse-submodules \ + && git submodule update --init --recursive + +# Make sure we don't rely on things that shouldn't be there. +RUN make clean -C /var/local/git/grpc + +# Debian packages need to be supplied externally +ADD libgrpc_amd64.deb libgrpc_amd64.deb +ADD libgrpc-dev_amd64.deb libgrpc-dev_amd64.deb + +# Install the C core .deb packages +RUN /bin/bash -l -c 'dpkg -i libgrpc_amd64.deb libgrpc-dev_amd64.deb' + +# Build ruby gRPC and run its tests +RUN /bin/bash -l -c 'cd /var/local/git/grpc/src/ruby && bundle && rake' + +# Add a cacerts directory containing the Google root pem file, allowing the +# ruby client to access the production test instance +ADD cacerts cacerts + +# Add a service_account directory containing the auth creds file +ADD service_account service_account + +# Specify the default command such that the interop server runs on its known +# testing port +CMD ["/bin/bash", "-l", "-c", "ruby /var/local/git/grpc/src/ruby/bin/interop/interop_server.rb --use_tls --port 8060"] diff --git a/tools/dockerfile/grpc_ruby_deb/README.md b/tools/dockerfile/grpc_ruby_deb/README.md new file mode 100644 index 00000000000..0a3716b9385 --- /dev/null +++ b/tools/dockerfile/grpc_ruby_deb/README.md @@ -0,0 +1,5 @@ +GRPC RUBY Base Dockerfile (Debian package version) +======================== + +Dockerfile for creating the Ruby gRPC development Docker instance. +Uses gRPC C core Debian packages instead of installing it using make.