Jenkins 是一款免费开源的 CI/CD(持续集成、部署)软件,被广泛应用在各种场景中。Jenkins 的主要优势在于其包罗万象的插件,可以完成各种任务,例如自动执行 SCP 、 Ansible 等部署, Cppcheck 等代码分析, Telegram 、 钉钉 等状态通知。 我之前也将 Jenkins 用于大量任务的自动化执行,例如 我的 Dockerfile 镜像 的自动更新,你正在浏览的 Hexo 博客的部署,甚至还有 原神自动签到 。 但是 Jenkins 是一款拥有悠久历史的 CI,其前身 Hudson 早在 2005 年就发布了。因此,Jenkins 执行任务时依然是传统的直接执行命令,而非使用 Docker 容器等现代化的方式。这意味着 CI 执行的成功与否很大程度上依赖 Worker 主机的系统环境。例如,前段时间我租了一台配置更高的服务器,由于重新搭建了环境,导致 CI 执行过程中出现一堆莫名其妙的问题,花了一个星期才全部发现解决。 此外,Jenkins 用 Java 写成,因此它的内存占用相当恐怖,...