Pipe Dream

A powerful CodePipeline DSL. Pipe Dream simplifies creating and managing CodePipeline pipelines.

Learn More!

Demo Pipeline

The Code

Easy to learn


Overview

pipe init
pipe deploy
pipe start
pipe delete

Structure

.pipedream
├── pipeline.rb
├── role.rb
├── schedule.rb
├── settings.yml
└── webhook.rb

Usage

pipe deploy # infers the pipeline name from parent folder
pipe deploy pipeline-name # explicitly specify pipeline name

pipe start # infers the pipeline name from parent folder
pipe start pipeline-name # explicitly specify pipeline name

pipeline.rb

stage "Source" do
  github(
    source: "user/repo",
    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

role.rb

iam_policy("logs", "ssm")

webhook.rb

github_token(ssm("/codepipeline/github/token"))

Learn More

Quick Start