Straw Boss CI ============= * Pipeline: series of named steps. * Step: named set of operations (make, script, something extensible). Optionally names an artifact that is the result of the step. * Artifact: resulting output from a step. strawboss may skip step execution if it already has an artifact cached from that step. * Configuration is two-part. Pipeline, step, and artifact definition are part of the project configuration (.strawboss.json? yaml?). Environment configuration lives on the strawboss server (supplies DB info, etc.). * REST API? * Step execution happens within the root directory of a fresh copy of the repo. Commit identifiers (hash/ref/etc.) are supplied when a build is triggered and the fresh copy is checked out at that reference.