Build Pipelines as Code


Abandon your build servers, build your own! With LambdaCD you develop build pipelines just like your applications: In code, in version control, with tests and refactorings

Find Out More

A toolbox to build your own build server


LambdaCD is a toolbox to enable you to build your own buildserver. It's got you covered, whether you need ten simple builds or one hugely complex delivery pipeline.

Get Started!

or just run

          $ lein new lambdacd my-first-pipeline
          

Features


In Code

You define your build pipeline in Clojure Code, with all the tools and libraries you are used to

In Version Control

Your build pipeline is easily stored in version control, you can branch, revert, rebase or annotate as much as you want

Reusable

Share pieces of your pipeline with others, pull our libraries with ease

Parameterized

You have more than one pipeline? Set up one parameterized pipeline and instantiate multiple pipelines from it

Example


;; buildsteps
(def some-repo "git@github.com:flosell/somerepo")

(defn wait-for-repo [_ ctx]
  (git/wait-for-git ctx some-repo "master"))

(defn with-repo [& steps]
  (git/with-git some-repo steps))

(defn run-tests [{cwd :cwd} ctx]
  (shell/bash ctx cwd
    "lein test"))

(defn compile-and-deploy [{cwd :cwd} ctx]
  (shell/bash ctx cwd
    "./buildscripts/compile-and-deploy.sh"))

;; the pipeline
(def pipeline
  `(
    (either
      wait-for-manual-trigger
      wait-for-repo)
    (with-repo
      run-tests
      compile-and-deploy)))

Check out the code


Want to know all the details or want to contribute? Check us out on GitHub