Topics to be covered in this section include:
- Continuous Integration services
- Circle CI
- GitHub Workflow
- GitLab CI
- Configure deployment pipelines
- Manage environment variables
- Security & Secrets
- Amazon AWS
CircleCI example in Practicalli Clojure Web Services
Banking on Clojure is an example of Continuous Integration using CircleCI, with LambdaIsland/Kaocha as the test runner and Heroku as the deployment pipeline.
12 Factor approachλ︎
Following the 12 factor principles, the deployment is driven by source code to multiple environments.
Use Yaml language to write CI workflows and tasks, using Docker images as a consistent run-time environment
A commercial service with a generous free Cloud plan - (6,000 minutes), providing highly optomises container images to run tasks efficiently. The CircleCI Clojure images contain Clojure CLI, Leiningen and Babashka pre-installed.
CircleCI Orbs package up common configuration and tools, greatly simplifying the configuration and maintenance required.
Use Yaml language to write CI workflows and tasks.
A commercial service with a modest free plan (2,000 minutes) for open source projects. GitHub Marketplace contains a wide range of Actions, including Clojure related actions, simplifying the configuration of CI.
Setup Clojure provides Clojure CLI, Leinigen and boot tools for use within the CI workflow