COMPOSER_AUTH环境变量用于安全注入私有包仓库认证凭据,其值必须是符合auth.json结构的合法JSON字符串,支持GitHub OAuth、HTTP Basic等多种认证方式,并在CI/CD中通过secrets安全传入。

COMPOSER_AUTH 环境变量用于在不暴露敏感信息的前提下,向 Composer 提供私有包仓库(如私有 Packagist、GitHub、GitLab 等)所需的认证凭据。它在 CI/CD 流水线中特别有用——避免把 token 或密码硬编码进 auth.json 或 composer.json。
该变量的值不是随意拼接的,而是一个经过 JSON 编码的字符串,结构需与 auth.json 文件一致。常见写法:
export COMPOSER_AUTH='{"github-oauth":{"github.com":"your_token_here"}}'
export COMPOSER_AUTH='{"http-basic":{"repo.example.com":{"username":"user","password":"pass"}}}'
export COMPOSER_AUTH='{"github-oauth":{"github.com":"abc123"},"http-basic":{"packages.example.com":{"username":"api","password":"key456"}}}'
不要直接写死 token,而是通过 secrets 注入,并确保 JSON 被正确转义:
env 传入:env:<br> COMPOSER_AUTH: '{"github-oauth":{"github.com":"${{ secrets.GITHUB_TOKEN }}"}'/、"),一般无需额外转义,GitHub Actions 会自动处理composer install 前,Composer 会自动读取该变量并等效于存在 auth.json
可在 CI 步骤中加一行调试命令确认:
php -r "echo json_encode(json_decode(\$_SERVER['COMPOSER_AUTH'], true), JSON_PRETTY_PRINT);"composer config --global --list | grep -A5 auth(部分版本支持显示已加载的 auth 配置)401 Unauthorized 或 403 Forbidden,大概率是 JSON 格式错误或 token 权限不足基本上就这些。关键是 JSON 合法、token 有效、权限匹配目标仓库。不复杂但容易忽略转义和结构细节。
以上就是Composer的COMPOSER_AUTH环境变量如何使用?(CI/CD中的凭证管理)的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号