JoliCi 服务管理实战:一键启动 MySQL、Redis 等 10 种测试依赖服务
JoliCi 服务管理实战一键启动 MySQL、Redis 等 10 种测试依赖服务【免费下载链接】JoliCi:white_check_mark: JoliCi - Run your TravisCi builds locally项目地址: https://gitcode.com/gh_mirrors/jo/JoliCi本地跑 CI 测试时最让人头疼的往往是环境准备要装 MySQL、要配 Redis、还要调好 Memcached……而 JoliCi 服务管理功能正是为解决这一痛点而生。JoliCi 是一款基于 PHP 与 Docker 的开源持续集成客户端核心能力是把 Travis CI 的构建流程完整搬到你的电脑上其中「服务管理」模块可以一键启动 MySQL、Redis 等 10 种常用测试依赖服务让本地测试环境与线上 CI 保持一致省去大量手工配置时间。为什么本地测试需要服务管理传统做法是手动安装数据库、消息队列再逐个调试端口和账号耗时且容易出错。JoliCi 服务管理的思路完全不同它把每个依赖服务封装成独立的 Docker 容器测试前自动拉起、测试后自动回收全程无需你干预。你只需要在配置文件里声明「我要用哪些服务」剩下的交给 JoliCi 处理即可。一键启动的 10 种测试依赖服务一览JoliCi 目前内置了 10 种服务的映射配置定义在src/Joli/JoliCi/BuildStrategy/TravisCiBuildStrategy.php中服务名称对应 Docker 镜像默认版本mysqlmysql5.5postgresqlpostgres9.1mongodbmongo2.6redis-serverredis2.8memcachedsylvainlasnier/memcachedlatestrabbitmqdockerfile/rabbitmqlatestelasticsearchdockerfile/elasticsearchlatestcassandraspotify/cassandralatestcouchdbfedora/couchdblatestneo4jtpires/neo4jlatest其中 MySQL 还预置了测试友好的环境变量自动创建travis用户、空密码配置保证测试用例开箱即用。每个服务的名称、镜像仓库、版本标签都被抽象成Service对象代码见src/Joli/JoliCi/Service.php。JoliCi 服务管理如何工作三步启停服务启停的核心逻辑集中在src/Joli/JoliCi/ServiceManager.php整个流程简洁高效检查镜像启动前先查询本地是否已有对应镜像没有则自动从 Docker Hub 拉取创建并启动容器为服务创建容器注入预设环境变量如 MySQL 的账号配置随即启动并把容器 ID 记录到服务对象上测试后回收任务执行完毕统一停止并删除服务容器同时清理数据卷保证下一次构建从干净状态开始。这套机制保证每个 Job 的服务相互隔离不会残留脏数据影响后续测试。最快配置方法在 .travis.yml 中声明服务使用起来非常简单只需在项目根目录的.travis.yml里加上services字段services: - mysql - redis-server - memcached运行php jolici.phar run后JoliCi 会先启动这些服务再执行你的测试脚本。需要特别注意的是服务运行在独立容器中测试容器内通过「服务名」作为主机名访问例如连接 MySQL 可以直接这样写mysql -u travis -h mysql因为 JoliCi 会自动把服务容器与测试容器建立链接主机名与声明时的服务名一一对应无需记忆 IP 地址。使用 JoliCi 服务管理时的注意事项服务仅在 script 阶段可用install 阶段创建表结构等操作可能会失败建议把依赖服务的初始化动作放到测试脚本中每次构建都是全新状态服务数据不会持久化适合验证「从零开始」的测试场景首次运行较慢需要先拉取镜像和构建环境之后会利用 Docker 缓存大幅提速详细流程可参考docs/command/run.md。快速上手总结JoliCi 服务管理把「装环境」这件苦差事变成了「写配置」一行搞定。想体验的话可以克隆源码仓库https://gitcode.com/gh_mirrors/jo/JoliCi或通过 Composer 全局安装composer global require jolicode/jolici:*然后在自己的项目里声明服务并运行php jolici.phar run即可享受一键启动 MySQL、Redis 等测试依赖服务的流畅体验。【免费下载链接】JoliCi:white_check_mark: JoliCi - Run your TravisCi builds locally项目地址: https://gitcode.com/gh_mirrors/jo/JoliCi创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关新闻

MinerU 教程:1B 参数的 PDF 转 Markdown 开源工具,6G 显存如何跑赢 72B 大模型?

MinerU 教程:1B 参数的 PDF 转 Markdown 开源工具,6G 显存如何跑赢 72B 大模型?

MinerU 教程:1B 参数的 PDF 转 Markdown 开源工具,6G 显存如何跑赢 72B 大模型? 【免费下载链接】MinerU Transforms complex documents like PDFs and Office docs into LLM-ready markdown/JSON for your Agentic workflows. 项目地址: h…

2026/8/19 19:05:59 阅读更多 →
7-Zip-zstd 完整上手指南:用六大现代压缩算法重建你的压缩工作流

7-Zip-zstd 完整上手指南:用六大现代压缩算法重建你的压缩工作流

7-Zip-zstd 完整上手指南:用六大现代压缩算法重建你的压缩工作流 【免费下载链接】7-Zip-zstd 7-Zip with support for Brotli, Fast-LZMA2, Lizard, LZ4, LZ5 and Zstandard 项目地址: https://gitcode.com/gh_mirrors/7z/7-Zip-zstd 当你的压缩任务从"…

2026/8/19 19:50:30 阅读更多 →
消息中间件升级,先演练事务消息的回查

消息中间件升级,先演练事务消息的回查

消息中间件升级,先演练事务消息的回查 组件大版本升级应把事务消息的补偿和回查作为单独的验证项,而不是只比较吞吐和 API 是否能编译。 在把核心消息中间件从 RocketMQ 4.9 升级到 5.1 后的首个切流日,报警日志响成一片:分布式事…

2026/8/19 16:55:35 阅读更多 →

最新新闻

DIY 3D打印耗材干燥盒:从原理到实践,解决打印质量难题

DIY 3D打印耗材干燥盒:从原理到实践,解决打印质量难题

1. 项目概述:为什么你需要一个耗材干燥盒? 如果你玩3D打印有一段时间了,尤其是用过PLA之外的耗材,比如尼龙、PETG、TPU,那你大概率经历过打印件表面出现气泡、拉丝、层间结合力差甚至直接堵头的噩梦。很多时候&#xf…

2026/8/19 23:43:36 阅读更多 →
LED像素画入门指南:从WS2812B硬件到FastLED编程实战

LED像素画入门指南:从WS2812B硬件到FastLED编程实战

1. 从像素点到光影艺术:LED像素画的魅力与入门 如果你对电子DIY、创意编程或者仅仅是让家里的一面墙“活”起来感兴趣,那么“LED Pixel Art”这个概念绝对值得你花时间深入了解。它远不止是把一堆彩色LED灯珠拼在一起那么简单,而是一种融合了…

2026/8/19 23:43:36 阅读更多 →
愉悦与快乐工作坊协议:用积极情绪驱动高效团队协作与创新

愉悦与快乐工作坊协议:用积极情绪驱动高效团队协作与创新

1. 项目缘起:为什么我们需要一个“愉悦与快乐”的工作坊?在快节奏、高压力的现代工作环境中,我们常常陷入一种悖论:我们努力工作是为了追求更好的生活,获得更多的成就感与快乐,但工作本身却常常成为压力、焦…

2026/8/19 23:43:36 阅读更多 →
【2026年】实验室建设企业的ISO 9001/14001/45001认证:三体系整合的价值

【2026年】实验室建设企业的ISO 9001/14001/45001认证:三体系整合的价值

一、三张证书背后的管理逻辑实验室建设企业在投标、验收、审计时,常被要求提供ISO 9001、ISO 14001、ISO 45001三张证书。很多人只把它们当作"投标资质",却忽略了这三张证书本身就是一个完整的管理框框架——它们分别回答质量、环境、职业健康…

2026/8/19 23:43:36 阅读更多 →
Leetcode-hot100(2026.08.17)

Leetcode-hot100(2026.08.17)

哈希 1. 两数之和 - 力扣(LeetCode) class Solution:def twoSum(self, nums: List[int], target: int) -> List[int]:d {}for i in range(len(nums)):if nums[i] in d:return [i,d[nums[i]]]d[target-nums[i]] ireturn None 49. 字母异位词分组 …

2026/8/19 23:43:36 阅读更多 →
Mizzle:基于并发不正确性逻辑实现零误报的自动化Bug检测

Mizzle:基于并发不正确性逻辑实现零误报的自动化Bug检测

1. 项目概述:当并发Bug检测不再“狼来了”在并发程序的世界里,找Bug就像在雷区里排雷。传统的程序验证逻辑,比如分离逻辑(Separation Logic)和它的并发扩展,如Iris框架,主要关注的是“正确性”&…

2026/8/19 23:42:35 阅读更多 →

日新闻

【单片机课程设计/毕业设计】基于 STM32 与 WiFi 模块的室内通风智能管控系统设计 基于 STM32 的人体存在感知自适应风扇控制系统设计(018503)

【单片机课程设计/毕业设计】基于 STM32 与 WiFi 模块的室内通风智能管控系统设计 基于 STM32 的人体存在感知自适应风扇控制系统设计(018503)

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于嵌入式单片机,Java、小程序技术领域和毕业项目实战 ✌️…

2026/8/19 0:00:30 阅读更多 →
AI如何驱动数学猜想生成:从大语言模型到自动化数学发现

AI如何驱动数学猜想生成:从大语言模型到自动化数学发现

1. 项目概述:当AI开始“猜”数学定理 最近在AI研究圈里,一个名为“Moonshine”的项目引起了不小的讨论。这名字本身就挺有意思,直译是“月光”,但在数学史上,它特指一个神秘而美丽的联系——魔群月光猜想,连…

2026/8/19 0:00:30 阅读更多 →
WarcraftHelper 魔兽争霸3优化实战指南

WarcraftHelper 魔兽争霸3优化实战指南

WarcraftHelper 魔兽争霸3优化实战指南 【免费下载链接】WarcraftHelper Warcraft III Helper , support 1.20e, 1.24e, 1.26a, 1.27a, 1.27b 项目地址: https://gitcode.com/gh_mirrors/wa/WarcraftHelper 一台刚配的新电脑,跑《魔兽争霸3》却卡成 PPT——这…

2026/8/19 0:02:31 阅读更多 →

周新闻

基于阿里云与通义千问(Qwen)构建AI应用:从模型调用到生产部署的完整实践指南

基于阿里云与通义千问(Qwen)构建AI应用:从模型调用到生产部署的完整实践指南

如果你是一名开发者,最近可能已经感受到了AI大模型正在从“玩具”变成“生产力工具”的强烈信号。从代码补全到智能Agent,从本地部署到云端API,我们正处在一个技术栈快速重构的节点。然而,面对层出不穷的模型、框架和工具&#xf…

2026/8/19 11:55:18 阅读更多 →
工业通信系统底层逻辑:04 反射——高频能量撞墙之后会发生什么?

工业通信系统底层逻辑:04 反射——高频能量撞墙之后会发生什么?

第四篇:反射——高频能量撞墙之后会发生什么? —— 你以为信号已经过去了,其实它正在回来打你 老Q的现场笔记 第五季,我们正式进入工业神经系统层。这里不再是单个设备的战斗,而是整个工厂“经脉”层面的秩序之战。从这一篇开始,你将第一次看清:看似简单的信号传播,背…

2026/8/19 9:46:27 阅读更多 →
【文章复现】非线性值迭代自适应动态规划(ADP):离散时间非线性系统的策略迭代自适应动态规划算法研究附Matlab代码

【文章复现】非线性值迭代自适应动态规划(ADP):离散时间非线性系统的策略迭代自适应动态规划算法研究附Matlab代码

✅作者简介:热爱科研的Matlab仿真开发者,擅长毕业设计辅导、数学建模、数据处理、建模仿真、程序设计、完整代码获取、论文复现及科研仿真。🍎 往期回顾关注个人主页:Matlab科研工作室👇 关注我领取海量matlab电子书和…

2026/8/19 11:55:16 阅读更多 →

月新闻

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南 【免费下载链接】BaiduNetdiskPlugin-macOS For macOS.百度网盘 破解SVIP、下载速度限制~ 项目地址: https://gitcode.com/gh_mirrors/ba/BaiduNetdiskPlugin-macOS 还在为百度网盘macOS版的龟速下…

2026/8/19 5:04:55 阅读更多 →
终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 还在为网易云音乐下载的NCM格式文件无法在其他播放器播放而烦恼吗?ncmdump解密工具帮你轻松解决这个困…

2026/8/19 7:42:22 阅读更多 →
HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

AgentCard 智能体卡片:为英语学习 App 打造桌面级学习助手适用平台:HarmonyOS 7.0 (API 26 Beta)一、引言 HarmonyOS 7.0(API 26 Beta)新增了 AgentCard 智能体卡片能力,这是继 HMAF(鸿蒙智能体框架&#x…

2026/8/19 11:55:13 阅读更多 →