mirror of
https://github.com/renovatebot/renovate.git
synced 2024-11-03 07:46:38 +00:00
124c1e636c
Co-authored-by: Rhys Arkins <rhys@arkins.net>
2.4 KiB
2.4 KiB
title | description |
---|---|
PHP Composer Support | PHP Composer support in Renovate |
Automated Dependency Updates for PHP Composer Dependencies
Renovate can upgrade dependencies in PHP's composer.json
and composer.lock
files.
How It Works
- Renovate searches in each repository for any
composer.json
files - Existing dependencies are extracted from the relevant sections of the JSON
- Renovate resolves the dependency on Packagist (or elsewhere if configured), and filter for SemVer versions
- A PR is created with
composer.json
andcomposer.lock
updated in the same commit - If the source repository has either a "changelog" file or uses GitHub releases, then Release Notes for each version will be embedded in the generated PR
Enabling
Either install the Renovate App on GitHub, or check out Renovate OSS for self-hosted.
Private packages
If you are using a privately hosted Composer package you can pass the credentials via the hostRules
configuration.
{
"hostRules": [
{
"matchHost": "some.vendor.com",
"hostType": "packagist",
"username": "<your-username>",
"password": "<your-password>"
},
{
"matchHost": "bearer-auth.for.vendor.com",
"hostType": "packagist",
"token": "abcdef0123456789"
}
]
}
This host rule is best added to the bot's config.js
config so that it is not visible to users of the repository.
If you are using the Mend Renovate App then you can encrypt it with Renovate's public key instead, so that only Renovate can decrypt it.
Go to https://app.renovatebot.com/encrypt, paste in the secret string you wish to encrypt, select Encrypt, then copy the encrypted result.
You may encrypt your password
only, but you can encrypt your username
as well.
{
"hostRules": [
{
"matchHost": "some.vendor.com",
"hostType": "packagist",
"encrypted": {
"username": "<your-encrypted-username>",
"password": "<your-encrypted-password>"
}
},
{
"matchHost": "bearer-auth.for.vendor.com",
"hostType": "packagist",
"encrypted": {
"token": "<your-encrypted-token>"
}
}
]
}