Circle CI continuous integration service
Circle CI is a service to build, test and deploy projects. CircleCI uses docker images to run its workflow, either in the cloud or locally.
Projects can be build, tests run, artifacts (uberjars) created and applications deployed to services such as Heroku.
Integration will be supported by Git version control, a continuous integration service (CircleCI, GitLabs, GitHub Actions) and a deployment platform (Heroku).
Getting Started
Circle CI has a free plan with unlimited projects, so its easy to get started.
Sign up using an existing GitHub or Bitbucket account and login to the CircleCI dashboard.
In the CircleCI dashboard use Add Project to configure any of your shared Git repositories to run build pipelines using a .circleci/config.yml
file in the root of the Clojure.
Every time changes are pushed to the shared code repository (GitHub, Bitbucket), CirceCI will run the pipeline for the project and show the results.
Clojure images
Clojure specific container images are available for several versions of Java, Clojure and build tools. Pre-configured images are typically faster than installing software on top a more generic image.
Recommended image for Clojure deps.edn projects is openjdk-11-tools-deps-1.10.1.763
The image contains OpenJDK 11 and the latest Clojure CLI tools installed, 1.10.1.763.
Add the following under docker: in your config.yml
- image: circleci/clojure:openjdk-11-tools-deps-1.10.1.763
References
- Dockerhub: CircleCI Clojure images
- GitHub: CircleCI-Public/cicleci-dockerfiles repository - review how docker images are constructed
- CircleCI Clojure image tags - json - programmatically process names of Clojure docker images