Pipe Dream

Build Status Gem Version

BoltOps Badge

Pipe Dream provides a DSL to make it easy create a CodePipeline pipeline.

Pipe Dream installs pipedream and pipe executables. Both of them do the same thing, pipe is just shorter to type.

The documentation site is at: pipedream.run

Quick Start

pipe init
pipe deploy
pipe start
pipe delete

Init and Structure

First, run pipe init to generate a starter .pipedream folder structure.

$ tree .pipedream
.pipedream
├── pipeline.rb
└── schedule.rb
File Description
pipeline.rb The CodePipeline pipeline written as a DSL. This is required. Here are the Pipeline DSL docs
schedule.rb A CloudWatch scheduled event written as a DSL. Here are the Schedule DSL docs

DSL

.pipedream/pipeline.rb:

stage "Source" do
  github(
    source: "tongueroo/demo-ufo",
    auth_token: ssm("/github/user/token")
  )
end
stage "DeployStacks" do
  codebuild "demo1"           # action declaration
  codebuild "demo2", "demo3"  # will run in parallel
  codebuild "demo4"           # action declaration
end

More DSL docs

Installation

Add this line to your application's Gemfile:

gem "pipedream"

And then execute:

bundle

Or install it yourself as:

gem install pipedream

Contributing

  1. Fork it
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am "Add some feature")
  4. Push to the branch (git push origin my-new-feature)
  5. Create new Pull Request