lein new lambdacd <NAME>
will create a new pipeline-projectcd <NAME>
lein run
downloads all dependencies and starts the server; the UI is then served on on http://localhost:8080src/<NAME>/
. Have a look around, change some steps or add some steps on your own;; buildsteps
(def some-repo "git@github.com:flosell/somerepo")
(defn wait-for-repo [_ ctx]
(git/wait-for-git ctx some-repo "master"))
(defn ^{:display-type :container} 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)))
#lambdacd
on the clojurians slack#lambdacd
on gitterlambdacd.steps.git
namespace in the futureI'd love to hear from you! If you have a question, a bug report or feature request please reach out.
For details, refer to the contribution guide
LambdaCD is built in Clojure and ClojureScript with Leiningen as a build-tool.
The ./go
script is your main entry-point that wraps all important development tasks.
Call it without arguments to see all the options.
./go setup
to install necessary dependencies and build everything once. src/clj
, tests in test/clj
../go test-clj
example/clj
), run ./go serve
. You may have to run ./go serve-cljs
occasionally to
generate the frontend JS code from ClojureScript../go setupTodopipelineEnv
starts up two VMs in vagrant where we deploy to and exports the ssh-config for them so that it can be used by the deployment scriptsresources/public
, ClojureScript code in src/cljs
, tests in test/cljs
src/less
./go serve
to start an example pipeline (if you want it to be green, follow the environment
setup above), ./go serve-cljs
to start a ClojureScript REPL and automatic code-reloading using
Figwheel and ./go serve-css
to run the css autoprefixer watch./go test-cljs
to run frontend-tests or ./go test-cljs-auto
to start autotestCopyright © 2014 Florian Sellmayr
Distributed under the Apache License 2.0