JoliCi 快速入门:3 步让 Travis CI 构建在本地跑起来
【免费下载链接】JoliCi:white_check_mark: JoliCi - Run your TravisCi builds locally项目地址: https://gitcode.com/gh_mirrors/jo/JoliCi
还在为一次小小的改动就要 push 到 GitHub、干等 Travis CI 云端排队而抓狂吗?JoliCi是一款免费开源的 PHP 持续集成客户端,它的核心能力就是让 Travis CI 构建在本地完整跑起来——无需提交代码,无需等待队列,直接在 Docker 容器里复现云端构建环境。本教程面向新手,用 3 个简单步骤带你完成 JoliCi 本地安装、配置与运行,从此把 CI 调试效率提升一个台阶。
提示:JoliCi 由 Jolicode 团队用 PHP 开发,完全兼容 Travis CI 配置标准,不会引入新标准,你的
.travis.yml无需改动即可复用。
第一步:JoliCi 本地安装的两种最快方法
JoliCi 安装方式非常灵活,推荐优先使用 Composer 全局安装,一条命令搞定:
composer global require "jolicode/jolici:*"如果想按项目维度安装(仅用于开发调试),可以这样:
composer require --dev "jolicode/jolici:*"如果你更习惯从源码体验最新功能,也可以直接 clone 项目后使用:
git clone https://gitcode.com/gh_mirrors/jo/JoliCi安装完成后,命令行里就多了jolici命令(源码入口位于 bin/jolici)。在此之前,请确保本机已安装 Docker 且守护进程正常运行——JoliCi 的所有构建环境都基于 Docker 镜像,这也是它能在本地复现云端环境的关键。
第二步:准备 Travis CI 配置文件
JoliCi 遵循"复用已有标准"的设计理念,你只需要保证项目根目录存在.travis.yml文件即可(例如声明 PHP 版本矩阵):
language: php php: - 5.5 - 5.6 - hhvm script: phpunitJoliCi 会通过 TravisCI 构建策略自动解析这个文件,为每个语言版本生成独立的 Docker 构建环境。想了解它支持哪些语言版本(php / ruby / node 等),可以查看 TravisCiStrategy.md。
进阶:使用 JoliCi 自定义构建策略
如果.travis.yml无法满足你的复杂环境需求,JoliCi 还提供了更灵活的自定义策略:在项目根目录创建.jolici文件夹,每个子目录就是一个 Job,里面放一个Dockerfile即可完全掌控环境,测试命令由CMD或ENTRYPOINT决定。详细规则见 JoliCiStrategy.md,核心实现可参考 JoliCiBuildStrategy.php。
第三步:运行本地 Travis CI 构建
一切就绪后,在项目目录执行:
jolici runJoliCi 会自动完成四件事:创建环境(解析配置、生成 Dockerfile)→构建环境(拉取镜像构建容器)→启动服务(如 mysql、memcached 等,独立容器运行)→执行测试,并把测试输出实时显示在终端上。整个过程不会修改你的项目文件(环境在临时目录中准备),.gitignore都不需要动。
首次运行因为要构建全部镜像会稍慢,之后得益于 Docker 缓存会快很多。如果你想看到完整的构建细节(类似云端 Travis 的日志),加上-v参数:
jolici run -v最常用的运行选项速查
| 选项 | 作用 |
|---|---|
--project-path/-p | 指定项目根目录,默认当前目录 |
--no-cache | 不使用上次构建缓存 |
--timeout/-t | 设置超时时间(默认 5 分钟),防止命令挂死 |
--notify | 每个 Job 完成时发送桌面通知 |
另外,你也可以直接在命令后面追加自定义测试命令,比如查看某个环境里的 PHP 版本:jolici run php -v。完整选项列表请查阅 run.md。
日常维护:清理与镜像更新
构建会占用 Docker 镜像和容器空间,JoliCi 默认只保留最近一次构建以复用缓存。如果构建过程异常中断导致磁盘占用过高,可以手动清理:
jolici clean支持--keep(保留几份)、--only-containers、--only-images、--force等细粒度参数,详见 clean.md。
当需要同步 JoliCi 预构建的基础镜像(如 jolicode/php56、hhvm 等)到最新版本时,一条命令即可:
jolici images-update常见疑问与调试技巧
Q1:为什么测试脚本里连不上数据库?JoliCi 的服务运行在独立容器中,主机名就是服务名本身。例如连接 MySQL 应使用mysql -u travis -h mysql。注意服务只在测试脚本执行期间可用,install 阶段初始化 schema 的操作目前可能失败。
Q2:如何排查环境构建问题?用-v查看完整构建日志;若遇到缓存导致的诡异问题,加--no-cache强制重建。
Q3:构建失败时退出码怎么判断?所有环境的测试都通过时 JoliCi 返回 0,否则返回失败环境的数量。
更多源码细节:Job 模型见 Job.php,多版本矩阵计算见 Matrix.php,官方完整说明文档位于 docs/installation.md。
总结
通过安装 JoliCi → 准备 .travis.yml → 本地运行这 3 步,你已经可以在本地 Docker 环境中快速跑起 Travis CI 构建,彻底告别"改一行代码、等一次云端排队"的低效循环。无论是日常调试、多 PHP 版本兼容测试,还是排查 CI 偶发失败,JoliCi 都是值得一试的本地 CI 利器。现在就打开终端,让 Travis CI 构建在你的电脑上飞起来吧!🚀
【免费下载链接】JoliCi:white_check_mark: JoliCi - Run your TravisCi builds locally项目地址: https://gitcode.com/gh_mirrors/jo/JoliCi
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考