What CI/CD should've been.
Most CI/CD tools are too opinionated and do too much. Bob follows the UNIX philosophy of doing one thing and doing it well, and the emacs philosophy of extensibility, and strives for simpler, decomposed and hence more composable and unbundled design. For more information, see Why Bob
To build and run your pipelines, you just need to do a docker-compose up
and make a few HTTP requests. Check out the Getting Started guide.
Bob's API (accessible entirely through HTTP) enables a core set of CI/CD features. The following are the only concepts that Bob is opinionated about:
- Steps: Direct commands (like a shell command,
pytest
, etc) - Pipeline: Ordered series of steps
- Environment: Key-Value store associated with either Steps and/or Pipelines
- Resources: Things (like source code or artifacts) consumed by Pipelines
- Artifacts: Something produced by a Pipeline
The core of Bob is composed of 3 main services:
All of these services live, breathe, and deploy from their own section of this mono-repo. Post-deployment, they are coordinated via a central persistent queue. Read more about Bob's Architecture.
Please start a discussion on literally any topic and we are happy to help and learn from each other! You can check out the Kanban board to see the roadmap and planned work.
For a more Clojure specific discussion there we also have a Clojurians Slack channel.
Happy Building!
Bob is Free and Open Source and always will be. Licensed fully under MIT