All Projects → GoogleCloudPlatform → Ruby Docker

GoogleCloudPlatform / Ruby Docker

Licence: apache-2.0
Ruby runtime for Google Cloud Platform

Programming Languages

ruby
36898 projects - #4 most used programming language

Projects that are alternatives of or similar to Ruby Docker

deploy-appengine
A GitHub Action that deploys source code to Google App Engine.
Stars: ✭ 184 (+50.82%)
Mutual labels:  appengine, google-cloud
Elixir Runtime
The community-supported runtime for Elixir on Google App Engine.
Stars: ✭ 158 (+29.51%)
Mutual labels:  google-cloud, appengine
server
The ViUR application development framework - legacy version 2.x for Python 2.7
Stars: ✭ 12 (-90.16%)
Mutual labels:  appengine, google-cloud
Golang Samples
Sample apps and code written for Google Cloud in the Go programming language.
Stars: ✭ 3,088 (+2431.15%)
Mutual labels:  google-cloud, appengine
appengine-java-standard
Google App Engine Standard Java runtime: Prod runtime, local devappserver, Cloud SDK Java components, GAE APIs, and GAE API emulators.
Stars: ✭ 141 (+15.57%)
Mutual labels:  appengine, google-cloud
GaeSupportLaravel
Run Laravel on Google App Engine
Stars: ✭ 22 (-81.97%)
Mutual labels:  appengine, google-cloud
Google Actions Java Sdk
(Deprecated) Unofficial Google Actions Java SDK - for Android engineers and all Java lovers
Stars: ✭ 280 (+129.51%)
Mutual labels:  google-cloud, appengine
Unity Solutions
Use Firebase tools to incorporate common features into your games!
Stars: ✭ 95 (-22.13%)
Mutual labels:  google-cloud
Datasplash
Clojure API for a more dynamic Google Dataflow
Stars: ✭ 111 (-9.02%)
Mutual labels:  google-cloud
Magnolify
A collection of Magnolia add-on modules
Stars: ✭ 81 (-33.61%)
Mutual labels:  google-cloud
Community
This repository holds the content submitted to https://cloud.google.com/community. Files added to the tutorials/ directory will appear at https://cloud.google.com/community/tutorials.
Stars: ✭ 1,306 (+970.49%)
Mutual labels:  google-cloud
Drone Gae
Drone plugin for managing deployments and services on Google App Engine (GAE)
Stars: ✭ 96 (-21.31%)
Mutual labels:  appengine
Qwiklabs
labs guide for completing qwiklabs challenge
Stars: ✭ 103 (-15.57%)
Mutual labels:  google-cloud
Terraform Provider Google
Terraform Google Cloud Platform provider
Stars: ✭ 1,318 (+980.33%)
Mutual labels:  google-cloud
Google Cloud Java
Google Cloud Client Library for Java
Stars: ✭ 1,606 (+1216.39%)
Mutual labels:  google-cloud
Bank Vaults
A Vault swiss-army knife: a K8s operator, Go client with automatic token renewal, automatic configuration, multiple unseal options and more. A CLI tool to init, unseal and configure Vault (auth methods, secret engines). Direct secret injection into Pods.
Stars: ✭ 1,316 (+978.69%)
Mutual labels:  google-cloud
Gcp Datastore Cloud Functions Realworld Example App
Serverless GCP Cloud Functions + Datastore implementation of RealWorld Backend
Stars: ✭ 122 (+0%)
Mutual labels:  google-cloud
Esp V2
A service proxy that provides API management capabilities using Google Service Infrastructure.
Stars: ✭ 120 (-1.64%)
Mutual labels:  google-cloud
Keras Cloud Ml Engine
Adventures using keras on Google's Cloud ML Engine
Stars: ✭ 106 (-13.11%)
Mutual labels:  google-cloud
Continuous Deployment On Kubernetes
Get up and running with Jenkins on Google Kubernetes Engine
Stars: ✭ 1,494 (+1124.59%)
Mutual labels:  google-cloud

Ruby Runtime for Google Cloud Platform

Travis-CI Build Status

This repository contains the source for the Ruby runtime for Google App Engine Flexible.

For more information on using the Ruby runtime, see https://cloud.google.com/appengine/docs/flexible/ruby/

Contents

This repository includes:

  • The base image atop Ubuntu 16_04, including the OS, common libraries and build dependencies, NodeJS, and rbenv, in the ruby-ubuntu16 directory.
  • A Dockerfile and config for building Ruby binary images in the ruby-prebuilt directory.
  • A convenience image, including the above Ubuntu image and a default installation of Ruby, in the ruby-base directory.
  • A raw image that contains installations of some common build tools and scripts, such as Yarn, the Google Cloud SQL Proxy, and the Google Cloud SDK, in the ruby-build-tools directory.
  • An image that analyzes a Ruby application and generates an appropriate Dockerfile, in the ruby-generate-dockerfile directory.
  • Templates for the Ruby runtime build pipeline definition in the ruby-pipeline directory.

This repository also contains a helper image, "app-engine-exec-wrapper" that provides a way to execute scripts in an App Engine application's environment. See the app-engine-exec-wrapper directory for more details.

The integration_test directory contains sample applications that are used by the Google Ruby team for runtime integration tests.

Local builds and tests

The provided Rakefile builds all the images locally and runs the unit tests in the test directory. It requires Ruby 2.3 and Docker 17.06 or later.

To perform a local build and test:

bundle install
bundle exec rake

Note this procedure tests against production prebuilt Ruby binaries by default. To create and test locally-built binaries:

USE_LOCAL_PREBUILT=true bundle exec rake

Release builds

Release candidates can be built using the build-*.sh scripts. Generally, they build artifacts, tagged with a build number, to a specified project (defaulting to the current gcloud project). Builds can be released using the release-*.sh scripts, which generally just retag a specified build as latest. Each of these scripts accepts a -h flag which documents the options.

Runtime images

To build and release runtime images, use the build-ruby-runtime-images.sh and release-ruby-runtime-images.sh scripts. When building, you may want to set the -s flag to tag the build as staging, and the -i flag to use a prebuilt binary for the convenience base image.

Official release builds of the runtime images are generally performed internally at Google. Such builds are roughly equivalent to:

./build-ruby-runtime-images.sh -i -p gcp-runtimes -s
./release-ruby-runtime-images.sh -p gcp-runtimes

Prebuilt binaries

To build and release prebuilt binary images, use the build-ruby-binary-images.sh and release-ruby-binary-images.sh scripts. When building, you should either set the -c flag or provide a prebuilt-versions.txt file to tell the runtime which Rubies to build. You may also want to set the -s flag to mark the new images as staging.

Official release builds of the prebuilt binaries are generally performed internally at Google. Such builds are roughly equivalent to:

./build-ruby-binary-images.sh -p gcp-runtimes -s -c <versions>
./release-ruby-binary-images.sh -p gcp-runtimes -c <versions>

The canonical list of prebuilt binaries is defined in the file ruby-pipeline/ruby-latest.yaml, which is the template used to build the official Ruby runtime. (This file also defines the default Ruby version used if an app does not specify a Ruby version.) To add to the canonical list, first build and release the prebuilt binary, then add an applicable entry to ruby-pipeline/ruby-latest.yaml and perform a template build (which must be done internally at Google.)

Runtime pipeline

To build and release the runtime pipeline config, use the build-ruby-runtime-pipeline.sh and release-ruby-runtime-pipeline.sh scripts. The -b flag is required. You may also want to set the -s flag to tag the pipeline build as staging. Finally, you should either set the -c flag, or provide a prebuilt-versions.txt file to tell the runtime which Rubies are prebuilt.

Official release builds of the pipeline are generally performed internally at at Google. Such builds are roughly equivalent to:

./build-ruby-runtime-pipeline.sh -b gcp-runtimes -p gcp-runtimes -s
./release-ruby-runtime-pipeline.sh -b gcp-runtimes -p gcp-runtimes

Exec Wrapper

To build and release the exec wrapper, use the build-app-engine-exec-wrapper.sh and release-app-engine-exec-wrapper.sh scripts. You may also want to set the -s flag to tag the build as staging.

Official release builds of the wrapper are generally performed internally at at Google. Such builds are roughly equivalent to:

./build-app-engine-exec-wrapper.sh -p google-appengine -s
./release-app-engine-exec-wrapper.sh -p google-appengine

Contributing changes

License

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].