几乎在网上没有关于如何在生产环境中运行Clojure项目的资料以及相应的管道。如果能够更多地讨论和评论您正在进行的工作,而不是仅仅讨论可以做什么,那就太好了。
我的当前设置
我们的基础设施基于在Istio和Istio网关后面运行的微服务架构。
- CI通过Jenkins自动化,运行代码分析和测试,并将工件生成到sonarqube进行分析。
- 每个Dockerfile编译一个jar文件,并在将新代码发布到Kubernetes时具有执行jar文件的入口点
- 我们在Web服务中使用了内嵌的httpkit
- 一些服务由mount或组件库(数据库、Web服务器、rabbitmq等)管理
- 我们的配置文件是由yogthos/config库在edn文件和lein配置文件中处理的
- 没有日志库,由Google Stackdriver处理。(为什么这些服务这么贵?:x)
我们没有Java产品的先前经验,所以可能有一些更好或更实用的方法来在生产中部署代码。目前,我们的机制运行良好。我认为这种内容可以让人在阅读一些成功的(或失败)用例后更加舒适地作出选择。