尧图建网站 尧图建网站 YAOTU WEB BUILD 免费咨询
ARTICLE DETAIL

资讯详情

深耕网站建设与建站编程的一线实战洞察。

JoliCi 全解析:在本地运行 Travis CI 构建的开源持续集成神器

JoliCi 全解析:在本地运行 Travis CI 构建的开源持续集成神器 JoliCi 全解析在本地运行 Travis CI 构建的开源持续集成神器【免费下载链接】JoliCi:white_check_mark: JoliCi - Run your TravisCi builds locally项目地址: https://gitcode.com/gh_mirrors/jo/JoliCiJoliCi 是一款用 PHP 编写的免费开源持续集成客户端它的核心能力是在本地运行 Travis CI 构建。有了这款开源持续集成神器你无需把代码推到远端、排队等待 CI 服务器反馈就能在提交之前于本地完整跑一遍构建与测试把反馈周期从几分钟压缩到几秒钟。对于追求开发效率的团队和个人开发者来说这是一个非常实用的利器。JoliCi 是什么为什么你需要本地持续集成持续集成CI的好处大家都知道尽早发现集成问题、快速反馈、保证主干可用。但传统 Travis CI 的流程是提交 → 推送 → 排队 → 远端构建 → 查看结果一次循环往往要等上好几分钟。JoliCi 的出现改变了这一点本地运行直接在你自己的机器上用 Docker 构建环境并执行测试兼容 Travis CI 配置复用项目根目录的.travis.yml几乎零成本上手免费开源项目采用宽松的开源协议代码完全开放。JoliCi 的核心工作原理从 .travis.yml 到 Docker 容器JoliCi 的工作流程非常清晰分为四步解析配置通过构建策略Build Strategy读取配置文件解析出一个个构建环境Job构建环境每个环境本质是一个用 Dockerfile 生成的 Docker 镜像启动服务根据配置启动 mysql、memcached、elasticsearch 等服务容器运行测试在环境容器中执行你的测试命令并实时输出结果。环境都会在临时目录中准备不会污染你的项目源码。值得留意的是构建任务矩阵由 Matrix.php 计算生成每个 Job 的命名与镜像标签规则定义在 Job.php而真正负责构建镜像 运行容器的执行逻辑则在 Executor.php 中。JoliCi 快速安装的 3 种方法方法一Composer 全局安装composer global require jolicode/jolici:*方法二Composer 项目内安装composer require --dev jolicode/jolici:*由于该工具主要用于开发阶段推荐加上--dev选项。方法三源码方式使用如果你想深入阅读源码或参与贡献也可以直接克隆 https://gitcode.com/gh_mirrors/jo/JoliCi 到本地自行构建。最快配置方法一键运行 JoliCi 构建前提条件项目根目录已有.travis.yml文件本机安装了较新版本的 Docker。直接运行测试php jolici.phar run首次运行会比较耗时因为需要从零构建所有镜像后续构建会利用 Docker 缓存速度明显提升。查看完整构建过程php jolici.phar run -v加-v参数可以看到类似 Travis CI 的完整构建输出方便排查问题。常用运行参数-p DIRECTORY指定项目根目录--no-cache禁用上次构建的缓存-t TIMEOUT设置超时时间默认 5 分钟防止测试命令卡死--notify每个任务完成时发送桌面通知。如果运行命令后面追加参数还可以覆盖测试命令例如php jolici.phar run php -v常用命令详解run、clean 与 images-updaterun 命令run是 JoliCi 的主命令负责创建环境并逐一执行测试。测试全部通过时返回码为 0否则返回失败任务的数量。详见 run.md。clean 命令JoliCi 平时会尽量清理多余的镜像、容器和构建目录但偶尔进程中断会留下垃圾此时可以手动清理php jolici.phar clean它默认保留最近一个版本可用-k NUMBER调整保留数量或用--only-containers、--only-images、--only-directories精确指定清理范围。详见 clean.md。images-update 命令该命令用来更新 JoliCi 创建测试环境所需的基础镜像php jolici.phar images-update更新内容详见 updates-image.md。灵活的 JoliCi 策略用 .jolici 目录自定义构建环境除了兼容 Travis CIJoliCi 还提供了更加灵活的自定义策略详见 JoliCiStrategy.md在项目根目录创建.jolici文件夹每个子目录代表一个 Job内部必须包含一个Dockerfile测试命令由 Dockerfile 的CMD或ENTRYPOINT决定Job 目录中的文件会在构建前被复制到项目根目录方便为不同环境提供不同的配置文件在 Dockerfile 中加入ADD . /project即可把项目源码带入环境。而基于.travis.yml的策略细节支持的 PHP、Ruby、Node 版本以及可用的服务等可以参考 TravisCiStrategy.md。两个策略由 ChainBuildStrategy.php 自动串联优先匹配 Travis 配置再匹配 JoliCi 目录。实用技巧与注意事项善用 Docker 缓存保持最近一次构建不清理可以让二次构建快很多服务连接方式目前服务运行在独立容器中主机名就是服务名例如连接 mysql 使用mysql -u travis -h mysql服务生命周期服务只在脚本执行期间可用安装阶段如建表需注意时机项目仍处于 Beta功能可能有缺失或 bug适合个人项目和中小团队先行尝试。JoliCi 用简洁的设计打通了本地开发与持续集成的最后一公里让你在写代码的同时就能获得即时反馈。如果你的项目正在使用 Travis CI不妨现在就试试这款开源持续集成神器把构建速度拉满【免费下载链接】JoliCi:white_check_mark: JoliCi - Run your TravisCi builds locally项目地址: https://gitcode.com/gh_mirrors/jo/JoliCi创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表