ARTICLE DETAIL

资讯详情

深耕网站建设、视觉设计与SEO优化的一线实战洞察。

JoliCi 服务管理实战:一键启动 MySQL、Redis 等 10 种测试依赖服务

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),仅供参考
返回列表