配置私有Composer包自动化发布需四步:1. 正确设置composer.json的name、type、autoload等字段;2. 搭建Satis或私有Packagist实例,在satis.json中添加私有仓库地址并生成包列表;3. 使用GitHub Actions等CI工具,在推送tag时自动运行测试并更新Satis,如通过SSH触发php satis build;4. 在目标项目composer.json中添加私有仓库URL后即可require使用。关键在于确保代码质量、权限安全与流程自动化。

为私有Composer包配置自动化发布流程,核心是将版本控制、代码质量检查、包构建与分发整合到CI/CD流水线中。关键是确保每次发布都经过验证,并自动更新包仓库信息。
确保你的私有包根目录下的composer.json文件配置正确:
示例片段:
{
"name": "your-company/your-package",
"type": "library",
"autoload": {
"psr-4": {
"YourCompany\YourPackage\": "src/"
}
}
}让其他项目能通过Composer安装你的私有包,需搭建私有仓库。常用方案包括:
以Satis为例,在服务器上配置satis.json,包含你的私有Git仓库地址:
{
"name": "My Private Packages",
"homepage": "https://packages.yourcompany.com",
"repositories": [
{ "type": "vcs", "url": "https://git.yourcompany.com/your-package" }
]
}每次发布新标签后,运行php satis build satis.json public/生成更新后的包列表。
选择GitHub Actions、GitLab CI或Bitbucket Pipelines等工具,在推送tag时触发发布流程。
以GitHub Actions为例,创建.github/workflows/publish.yml:
on:
push:
tags:
- 'v*'
<p>jobs:
publish:
runs-on: ubuntu-latest
steps:</p><ul><li><p>uses: actions/checkout@v4</p></li><li><p>name: Set up PHP
uses: shivammathur/setup-php@v2
with:
php-version: '8.1'</p></li><li><p>name: Install dependencies
run: composer install --no-dev</p></li><li><p>name: Run tests
run: vendor/bin/phpunit</p></li><li><p>name: Push to Satis server
run: |
ssh user@your-server "cd /path/to/satis && git pull && php bin/satis build"
env:
SSH_PRIVATE_KEY: ${{ secrets.SSH_PRIVATE_KEY }}
此流程会在你打tag(如v1.0.0)时自动测试并更新Satis仓库。
在需要使用该包的项目中,修改composer.json,添加仓库源:
"repositories": [
{
"type": "composer",
"url": "https://packages.yourcompany.com"
}
]然后正常 require 包:
composer require your-company/your-package:^1.0
基本上就这些。只要CI流程稳定,每次打tag就能自动发布新版本,团队可即时使用最新功能。关键点是权限控制和SSH密钥安全,建议使用部署密钥并限制访问范围。
以上就是如何为私有Composer包配置自动化发布流程?的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号