bob
bob copied to clipboard
This is what CI/CD should've been.
Bob the Builder

What CI/CD should've been.
Status
🚧 Experimental 🚧
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
Getting Started
To build and run your pipelines, check out the Getting Started guide.
Internals
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:
- API server
- Entities
- Runner
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.
Join the conversation
Please start a discussion on literally any topic and we are happy to help and learn from each other!
For a more Clojure specific discussion there we also have a Clojurians Slack channel.
Happy Building!
License
Bob is Free and Open Source and always will be. Licensed fully under MIT