There are almost none online material about how to run Clojure projects in production environments and respective pipelines. It would be great to have more discussions and comments about what you are doing and not only what could be done.
My current setup:
Our infraestructure is based on microservice architecture running on Kubernetes behind Istio and Istio Gateway.
- CI is automated with Jenkins that runs Code Analysis and Tests and produces artifacts to sonarqube to be analyzed.
- Each Dockerfile compiles a jar file and have an entrypoint to execute the jar file in production when the CD publishes the new code into Kubernetes
- We use httpkit embedded for web services
- Some services are managed by mount or component libraries (database, web server, rabbitmq, etc.)
- Our configurations files are handles by yogthos/config library in edn files and lein's profiles
- no lib for logging, dealt by Google Stackdriver. (why these services are so expensive? :x)
We have no previous experience with Java products, so might have better services or practices to deploy code in production. For now, our mechanism is working just fine. I think this kind of content makes people more comfortable with their choices after reading some successful (or failures) use cases.