程序员茄子
全部
编程
代码
资讯
案例
综合
联系我们
CI 相关技术文章
php
mysql
shell
go
vue
css
api接口对接
支付接口对接
Git 2.56 的 fetch.followRemoteHEAD:一条全局配置修好所有 remote 的过期 origin/HEAD
编程
Git 2.56 的 fetch.followRemoteHEAD:一条全局配置修好所有 remote 的过期 origin/HEAD
2026-10-04 20:02:48
仓库里 origin/HEAD 还指向早已改名的旧默认分支,每次 fetch 都不修。Git 2.56 新增全局配置 fetch.followRemoteHEAD,一次设定让所有 remote 的 HEAD 自动跟随。作者从源码编了 2.43/2.55/2.56 三个版本实测:默认 create 不更新、always 静默生效但无输出、全局不支持 warn-if-not-$branch、per-remote 优先级最高。
Git
版本控制
运维
配置
CI
用 Rector 把 PHP 5.3 项目升到 8.5:它基于 AST,不是查找替换
编程
用 Rector 把 PHP 5.3 项目升到 8.5:它基于 AST,不是查找替换
2026-09-22 21:31:12
Rector 用 AST 自动升级和重构 PHP 代码,覆盖 5.3 到 8.5。本文给出安装、rector.php 配置、单规则与 prepared sets 用法、--dry-run 预览、CI 退出码 2 的含义,并强调一次只上一个版本集、输出格式要接 ECS/PHP-CS-Fixer、CODE_QUALITY 与 EARLY_RETURN 规则竞争这些实战取舍。
PHP
Rector
代码重构
PHP升级
静态分析
CI
克隆 Linux 内核不用等几小时:--filter=blob:none 把 3.26GB 压到 1.13GB
编程
克隆 Linux 内核不用等几小时:--filter=blob:none 把 3.26GB 压到 1.13GB
2026-09-21 21:05:38
大仓库全量 clone 动辄数小时。本文分清 Git LFS、浅克隆与部分克隆各自解决什么问题,给出 --filter=blob:none 把 Linux 内核从 3.26GB 压到 1.13GB 的实测数据、部分克隆配稀疏检出的用法,以及 git bundle 离线分发的兜底方案。
Git
大仓库
partial
clone
CI
k6:用 JavaScript 写压测脚本,把 SLO 断言放进 CI
编程
k6:用 JavaScript 写压测脚本,把 SLO 断言放进 CI
2026-09-16 00:05:11
k6 是 Grafana 维护的负载测试工具,用 Go 编译成单二进制、脚本用内嵌 JS 引擎执行。本文拆解官方示例脚本里的四块机制:thresholds 把 SLO 写成断言(不达标非零退出,可当 CI 门禁)、stages 渐进加压、check 与 sleep 的分工、scenarios 的负载建模方式,并给出结果输出、协议支持、扩展生态与 k6 Studio 的入口链接与边界说明。
性能测试
压测
k6
负载测试
CI
技术 Leader 管头不管脚:把目标、标准、资源、边界管住,代码交出去
编程
技术 Leader 管头不管脚:把目标、标准、资源、边界管住,代码交出去
2026-09-16 00:04:13
技术 Leader 加班改接口、下属等拍板,是「管脚」太多的典型后果。这篇把管理动作拆成目标、标准、资源、边界四件事,给出可直接抄的任务单完成定义(DoD)模板、CI 质量门禁配置、决策分级表,以及统计「怎么办」类提问来量化团队依赖度的办法。
技术管理
研发管理
工程效率
Code
Review
CI
一份 Bash 脚本跑完 Docker CI/CD:build、deploy、健康检查与失败自动回滚
编程
一份 Bash 脚本跑完 Docker CI/CD:build、deploy、健康检查与失败自动回滚
2026-09-11 21:31:30
用一份 bash 脚本把 build→push→deploy→健康检查→失败自动回滚串成一条流水线,不装 Jenkins。给出健康检查判定表、旧镜像 rollback、结构化日志、告警 webhook 与 build/deploy/rollback 三段核心代码,并说明团队到什么规模该升级到正规 CI。
Bash
CI
CD
Docker
Shell
自动化部署
把多个服务塞进一个 repo:12-Factor 基准代码原则在真实项目里的边界
编程
把多个服务塞进一个 repo:12-Factor 基准代码原则在真实项目里的边界
2026-09-11 00:04:16
从「多个服务塞进一个仓库、互相 import 内部实现」的真实现象切入,讲清 12-Factor 基准代码(Codebase)原则:一份基准代码对应多份部署、应用与代码库一一对应;给出 monorepo 与共享代码的边界、拆成内部依赖(npm 私有库/Maven 私服/Go module)的做法,以及用 git tag、CI_COMMIT_TAG、GitHub Actions on.push.tags 触发部署的具体配置与踩坑点。
Code
Base
12-Factor
代码库
Monorepo
CI
CD
自托管 Runner 上的云凭据迟早会漏:用 GitHub Actions OIDC 换掉长期 AK/SK,信任边界还剩哪些
编程
自托管 Runner 上的云凭据迟早会漏:用 GitHub Actions OIDC 换掉长期 AK/SK,信任边界还剩哪些
2026-09-08 00:04:39
自托管 GitHub Actions Runner 里长期云凭据的泄漏复盘:讲 GITHUB_TOKEN 权限边界、OIDC 短时令牌机制、AWS/Vault 最小配置,以及 runner 隔离与断网环境的适用边界。
开发运维
CI
CD
GitHub
Actions
OIDC
DevSecOps
修复基础设施仓库里 Makefile 的静默失败:三个根因与对策
编程
修复基础设施仓库里 Makefile 的静默失败:三个根因与对策
2026-09-07 15:19:08
make 目标静默跳过、部分执行的根因:同名目录骗过时间戳、每行 recipe 独立子 shell、默认 SHELL 是 dash。给出 SHELLFLAGS 硬化、.PHONY、stamp 文件与 task runner 迁移的完整对策。
Makefile
CI
基础设施
工程实践
Gemini CLI 无头模式实录:把终端 Agent 接进 CI 的配置与坑
编程
Gemini CLI 无头模式实录:把终端 Agent 接进 CI 的配置与坑
2026-09-03 00:05:51
深挖 Gemini CLI 无头(headless)非交互模式的落地用法:-p 一次性执行、json/stream-json 结构化输出、CI 认证与权限边界、GEMINI.md 评审规则、settings.json 接 MCP。区别于站内 #6248 的选型综述角度。
gemini
cli
AI编程代理
CLI
CI
无头模式
MCP
Go 1.27 synctest.Sleep:AI 代理并发测试摆脱真实时间依赖,CI 提速
编程
Go 1.27 synctest.Sleep:AI 代理并发测试摆脱真实时间依赖,CI 提速
2026-07-11 08:37:13
Go 1.27新增synctest.Sleep,虚拟时钟推进+Wait合并,AI代理并发测试零真实等待,CI提速消除flaky test,需GOEXPERIMENT=synctest启用。
Go
Go1.27
测试
synctest
并发
AI代理
CI
虚拟时钟
开源
Go 1.27 test2json新增OutputType:CI终于能区分测试日志和报错了
编程
Go 1.27 test2json新增OutputType:CI终于能区分测试日志和报错了
2026-05-23 07:18:39
Go 1.27为test2json新增OutputType字段,通过控制字符标记协议区分t.Log普通输出和t.Error错误输出,CI系统终于能准确提取测试失败摘要,完全向后兼容。
Go语言
Go1.27
testing
test2json
CI
工程实践
持续集成
大家都在搜索什么?
devops
易支付
一个官网+多少钱
统一接受回调
统一回调
python
sub
node
宝塔日志
mysql
shell
ElasticSearch
css
vue
api接口对接
2025
支付接口对接
go
php
php回调