All Projects → buildkite → rails-docker-parallel-example

buildkite / rails-docker-parallel-example

Licence: MIT license
An example of how to run Rails CI and test steps in parallel with Docker and Buildkite

Programming Languages

ruby
36898 projects - #4 most used programming language
Dockerfile
14818 projects
shell
77523 projects

Projects that are alternatives of or similar to rails-docker-parallel-example

nodejs-docker-example
An example of how to run a Node.js project in Docker in a Buildkite pipeline
Stars: ✭ 39 (+105.26%)
Mutual labels:  pipeline, buildkite
golang-docker-example
An example of how to run a Golang project in Docker in a Buildkite pipeline
Stars: ✭ 18 (-5.26%)
Mutual labels:  pipeline, buildkite
LogHub
No description or website provided.
Stars: ✭ 38 (+100%)
Mutual labels:  pipeline
bitbucket-push-and-pull-request-plugin
Plugin for Jenkins v2.138.2 or later, that triggers job builds on Bitbucket's push and pull request events.
Stars: ✭ 47 (+147.37%)
Mutual labels:  pipeline
cloud-native-pipelines
Cloud-native pipelines leveraging Concourse, Pivotal Build Service and Spinnaker to deploy apps
Stars: ✭ 15 (-21.05%)
Mutual labels:  pipeline
Geoweaver
a web system to allow users to automatically record history and manage complicated scientific workflows in web browsers involving the online spatial data facilities, high-performance computation platforms, and open-source libraries.
Stars: ✭ 32 (+68.42%)
Mutual labels:  pipeline
open-solution-googleai-object-detection
Open solution to the Google AI Object Detection Challenge 🍁
Stars: ✭ 46 (+142.11%)
Mutual labels:  pipeline
skinner
Skin export / import tools for Autodesk Maya
Stars: ✭ 68 (+257.89%)
Mutual labels:  pipeline
SeqTools
A python library to manipulate and transform indexable data (lists, arrays, ...)
Stars: ✭ 42 (+121.05%)
Mutual labels:  pipeline
pypely
Make your data processing easy
Stars: ✭ 17 (-10.53%)
Mutual labels:  pipeline
smag
Show Me A Graph - Command Line Graphing
Stars: ✭ 78 (+310.53%)
Mutual labels:  pipeline
WebRISC-V
WebRISC-V: A Web-Based Education-Oriented RISC-V Pipeline Simulation Environment [PHP]
Stars: ✭ 74 (+289.47%)
Mutual labels:  pipeline
doepipeline
A python package for optimizing processing pipelines using statistical design of experiments (DoE).
Stars: ✭ 18 (-5.26%)
Mutual labels:  pipeline
k3ai-core
K3ai-core is the core library for the GO installer. Go installer will replace the current bash installer
Stars: ✭ 23 (+21.05%)
Mutual labels:  pipeline
blueocean-pipeline-editor-plugin
Jenkins Blue Ocean pipeline editor
Stars: ✭ 30 (+57.89%)
Mutual labels:  pipeline
hyperdrive
Extensible streaming ingestion pipeline on top of Apache Spark
Stars: ✭ 31 (+63.16%)
Mutual labels:  pipeline
unity-build-pipeline
Custom BASH script for build, archive, export and upload APK and IPA to server with Telegram notification
Stars: ✭ 59 (+210.53%)
Mutual labels:  pipeline
targets-minimal
A minimal example data analysis project with the targets R package
Stars: ✭ 50 (+163.16%)
Mutual labels:  pipeline
nanoseq
Nanopore demultiplexing, QC and alignment pipeline
Stars: ✭ 82 (+331.58%)
Mutual labels:  pipeline
MIPS-pipeline-processor
A pipelined implementation of the MIPS processor featuring hazard detection as well as forwarding
Stars: ✭ 92 (+384.21%)
Mutual labels:  pipeline

Buildkite Rails Docker Parallel Example

Add to Buildkite

This repository is an example of how to easily run a large number of parallel testing agents for a Rails application using Buildkite, Docker and Knapsack. This approach works well with Docker available autoscaling environments like the Buildkite AWS Stack.

This repository doesn't actually include a Rails sample application, but has the same CI scripts, Dockerfile and docker-compose.yml you would use for a production application. For a non-Docker based setup, see the Rails Parallel Example.

Files to note:

How does it work?

In the pipeline configuration file the parallelism property for the test step is set to 20. When a build, the step will appear 20 times in the pipeline, each with different environment variables exposed so you can divvy up your test suite accordingly. You can set the parallelism as high as you need to bring down your build times.

See the parallelizing builds guide for more information to create parallelized and distributed builds with Buildkite.

See the Containerized Builds with Docker guide for information on how to use Docker Compose with Buildkite pipelines.

Consult the Knapsack documentation for configuring your database and dependent services to support running parallel steps on the one machine.

Knapsack Pro

See Knapsack Pro version of this example pipeline for how to perform dynamic splits/allocation of test nodes.

Running locally

To run the specs locally on your development machine, you can run:

docker-compose run app scripts/ci/parallel_specs.sh

License

See Licence.md (MIT)

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].