本文目录导读:

在 PHP 中,如果你想使用 Renovate(一个自动化依赖更新工具),你需要按照以下步骤进行配置:
安装 Renovate
使用自托管方式(Self-hosted)
# 使用 npm 全局安装 npm install -g renovate # 或者使用 Docker docker run --rm renovate/renovate
使用 GitHub App(最简单)
在 GitHub Marketplace 中搜索 "Renovate",点击安装并授权到你的仓库。
创建 Renovate 配置文件
在项目根目录创建 renovate.json 或 renovate.json5:
{
"$schema": "https://docs.renovatebot.com/renovate-schema.json",
"extends": [
"config:recommended"
],
"packageRules": [
{
"matchDatasources": ["packagist"],
"matchPackagePatterns": ["^php"],
"groupName": "PHP Packages"
}
],
"php": {
"enabled": true,
"rangeStrategy": "bump"
}
}
配置 PHP 相关更新
更新 composer.json 依赖
{
"extends": ["config:recommended"],
"composer": {
"enabled": true,
"rangeStrategy": "in-range",
"composerIgnorePlatformReqs": true
}
}
更新 PHP 版本
{
"constraints": {
"php": "^8.0"
}
}
配置 PR 合并策略
{
"packageRules": [
{
"matchUpdateTypes": ["major"],
"automerge": false
},
{
"matchUpdateTypes": ["minor", "patch"],
"automerge": true,
"automergeType": "branch"
}
]
}
针对 PHP 项目的常用配置
忽略特定包
{
"ignored": [
"phpunit/phpunit",
"friendsofphp/php-cs-fixer"
]
}
配置更新频率
{
"schedule": [
"every weekend",
"before 5:00am"
],
"timezone": "Asia/Shanghai"
}
分组更新策略
{
"groupName": "Laravel Packages",
"matchPackagePatterns": ["^laravel/"]
}
初始化 Renovate
在你的 GitHub 仓库中添加 Renovate 后,它会自动:
- 创建 "Configure Renovate" 的 PR
- 合并该 PR 后会生成
renovate.json配置 - 自动检测
composer.json中的依赖
验证配置
你可以使用 Renovate 的配置验证工具:
renovate-config-validator renovate.json
常见问题处理
处理平台版本约束
{
"constraints": {
"php": ">=8.0 <8.2"
}
}
处理多 PHP 版本
{
"supportPolicy": "active-lts",
"phpVersions": ["8.0", "8.1", "8.2"]
}
GitHub Actions 集成(可选)
创建 .github/workflows/renovate.yml:
name: Renovate
on:
schedule:
- cron: '0 3 * * *'
jobs:
renovate:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Renovate
uses: renovatebot/github-action@v40
with:
token: ${{ secrets.RENOVATE_TOKEN }}
注意事项
- 安全更新:Renovate 会自动创建安全更新的 PR
- 兼容性:确保配置的 PHP 版本与你的项目兼容
- 测试:配置
automerge前确保有足够的测试覆盖 - 权限:Renovate 需要仓库的写权限
通过这些配置,Renovate 会自动监控并更新你的 PHP 依赖,保持项目的最新状态。
版权声明:NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播