如何在AWS CodeBuild中通过API密钥登录Laravel Vapor实现CI/CD部署
完全可以通过Vapor API密钥实现非交互式身份验证,无需执行交互式的vapor login命令,以下是完整配置步骤:
1. 获取Vapor API密钥
登录Vapor控制台,进入个人设置页面的API密钥管理板块,生成专属API令牌,生成后请妥善保存,该令牌仅会在生成时明文展示一次。
2. 配置AWS端敏感信息存储与环境变量
- 将生成的Vapor API密钥存入AWS Systems Manager Parameter Store(或Secrets Manager),配置为敏感类型参数,避免明文泄露
- 打开对应CodeBuild项目的设置页,添加名为
VAPOR_API_TOKEN的环境变量,取值关联上一步存储的敏感参数,勾选不显示值选项防止构建日志泄露密钥
Vapor CLI会自动读取系统中的
VAPOR_API_TOKEN环境变量完成身份校验,无需手动调用登录命令。
3. 配置CodeBuild构建说明文件(buildspec.yml)
参考配置示例如下,可根据项目实际依赖调整:
version: 0.2 phases: install: runtime-versions: php: 8.2 commands: # 全局安装Vapor CLI - composer global require laravel/vapor-cli # 将Composer全局目录加入系统路径 - export PATH=$PATH:~/.composer/vendor/bin # 安装项目依赖 - composer install --no-dev --optimize-autoloader build: commands: # 按分支选择部署环境,可根据自身流水线规则调整 - | if [ $CODEBUILD_SOURCE_VERSION = "main" ]; then vapor deploy production elif [ $CODEBUILD_SOURCE_VERSION = "develop" ]; then vapor deploy staging fi
注意事项
- 请确保CodeBuild使用的PHP版本符合你的Laravel项目及Vapor依赖的版本要求
- 部署命令可按需添加额外参数,例如
--commit(传递提交哈希)、--message="自定义部署说明"等 - 若构建过程中出现Vapor权限报错,可先校验
VAPOR_API_TOKEN环境变量的取值是否正确、对应API密钥是否未过期
内容的提问来源于stack exchange,提问作者Omene Joseph Ogheneruno
相关产品推荐
相关产品推荐

