Skip to content

Latest commit

 

History

History
48 lines (28 loc) · 1.58 KB

README.md

File metadata and controls

48 lines (28 loc) · 1.58 KB

Ember-cli-deploy-pipeline

This README outlines the details of collaborating on this Ember addon.

Architecture

A deploy pipeline is a tree of tasks. Each task is an object, provided by another addon (so third parties can extend the capabilities of the pipeline). A task only runs if its preceding task succeeds.

Tasks have hooks:

  • task.run(config) - do whatever this task does
  • task.rollback() - undo whatever this task did
  • task.cleanup() - clean up any backups taken in case of rollback

If a task fails, all preceding tasks will be rolled back in reverse order. If no tasks fail, cleanup() will be called on every task.

A task is an object, not a singleton, so can be used more than once in a pipeline with different configuration.

Task config can reference data from the output of any preceding task.

task.run() will either return null or a POJO if it succeeds, or an Error if it fails. If the POJO includes a message property this will be logged to the console.

A task addon's README will document the structure of the required config and its output POJO if it has one.

Common pipelines

Blueprints will be available for the most common pipelines (e.g. Luke Melia, S3+Cloudfront). Third party addons can provide new blueprints.

Installation

  • git clone this repository
  • npm install
  • bower install

Running

Running Tests

  • ember test
  • ember test --server

Building

  • ember build

For more information on using ember-cli, visit http://www.ember-cli.com/.