Java 平台应用持续集成:自底向上实践指南
本文介绍了 Java 平台(Java、Kotlin、Clojure)应用的持续集成(CI/CD)实践,使用自底向上方法,从 Gradle 构建任务到简单的 SHELL 脚本,到 Kubernetes 集群的自动化工具以及云端 CDN,探索了混合部署场景下持续集成的简易、灵活的实践方法。
我的博客覆盖了前端、后端、客户端以及系统编程等领域,以构建高效、弹性、可维护的应用程序为目标。请随意翻阅查看。这里记录了我对一些新技术、新工具以及在项目中的开发实践,往前翻翻还有很多不着调的诗歌。
本文介绍了 Java 平台(Java、Kotlin、Clojure)应用的持续集成(CI/CD)实践,使用自底向上方法,从 Gradle 构建任务到简单的 SHELL 脚本,到 Kubernetes 集群的自动化工具以及云端 CDN,探索了混合部署场景下持续集成的简易、灵活的实践方法。
本文介绍了 Clojure 对面向对象编程模式的支持:defmulti、defmethod 带来的分派和继承,defprotocol, defrecord 和 extend-type 带来的协议、记录和实现,并探讨了它们在工程项目中的最佳实践和适用场景。
本文介绍了一种利用微型 x86 PC 搭建 HomeLAB 的方法,包括基于 Wireguard 和公网 IP 互通,ESXi Server 和 DSM 的安装、DDNS、Windows 和 Linux CI/CD 环境的搭建。
本文介绍了一种利用云平台函数计算通过 WebDriver 拉起浏览器的方式,以绕过 Cloudflare 保护、网站动态内容生成等限制,获取数据。
本文介绍了我在将 Clojure 单体应用迁移到 Kubernetes 集群,增添功能并且使用云原生模式实现可观测性的一些思考。
本文介绍了一种低成本使用 Kubernetes 管理跨多个云供应商提供的带有浮动 IP 虚拟机的方法,并对比了使用 docker 手动管理这些虚拟机的管理和计算开销,讨论了边缘计算集成 Kubernetes 的风险和价值。
本文通过对比 Rust 和 Clojure 在后端开发上的开发体验,探究作为函数式 S-expr 界面的 Clojure 设计理念,以及在这种设计权衡下的取舍。